如何解决如果不先初始化向量,该如何处理向量?
我正在使用C ++中的<algorithm>
库。
我正在std::vector
进行锻炼。
如果不首先像这样std::vector<int>
v(10,0);
初始化向量,该如何使用向量?
std::vector<int> vec;
int i = 0;
std::generate_n(vec,10,[int& i](){i += 10; return i});
我希望它是vec={10,20,30,40,50,60,70,80,90,100}
解决方法
您可以使用std::back_inserter
(和std::back_insert_iterator
),它在容器上执行push_back
以插入元素。例如
std::vector<int> vec;
vec.reserve(10); // if the size could be determined in advance
int i=0;
std::generate_n(std::back_inserter(vec),10,[&i](){i+=10; return i;} );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。