开发者社区 问答 正文

将数组转换为向量的最简单方法是什么?

将数组转换为向量的最简单方法是什么?

void test(vector _array) { ... }

int x[3]={1, 2, 3}; test(x); // Syntax error. 我想以最简单的方式将x从int数组转换为vector。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 14:03:19 759 分享 版权
1 条回答
写回答
取消 提交回答
  • 使用vector带有两个迭代器的构造函数,请注意,指针是有效的迭代器,并使用从数组到指针的隐式转换:

    int x[3] = {1, 2, 3}; std::vector v(x, x + sizeof x / sizeof x[0]); test(v); 要么

    test(std::vector (x, x + sizeof x / sizeof x[0])); 在这种情况下sizeof x / sizeof x[0]显然3在哪里?这是获取数组中元素数量的通用方法。需要注意的是x + sizeof x / sizeof x[0]指向一个元素之外的最后一个元素

    2020-02-08 14:03:28
    赞同 展开评论
问答地址: