开发者社区> 问答> 正文

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

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

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 683 0
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
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
重新定义计算的边界 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载