c++生成递增序列递增的vector数组

网友投稿 1280 2022-05-30

递增的vector数组

原生数组和vector、array都不支持构造一个递增的数组,比如一个包含0~999的size为1000的数组。

int ids[1000] = {};

for (int i = 0; i < 1000; ++i)

{

ids[i] = i;

c++生成递增序列递增的vector数组

}

如果是std::vector,则是:

std::vector ids;

ids.resize(1000);

for (int i = 0; i < 1000; ++i)

{

ids[i] = i;

}

也有人用使用lambda表达式来实现

现在介绍C++11新增的std::iota,需要包含头文件numeric

可能的实现:

官方文档:https://en.cppreference.com/w/cpp/algorithm/iota

template

void iota(ForwardIterator first, ForwardIterator last, T value)

{

while(first != last) {

*first++ = value;

+

C++ 数据结构

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:四十一、Linux基础命令,用户管理和文件系统总结
下一篇:成功解决UserWarning: Update your `Conv2D` call to the Keras 2 API问题
相关文章