gpt4 book ai didi

c++ - 如何在C++中快速创建数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:27 25 4
gpt4 key购买 nike

我已经习惯了使用 Python 或 Matlab,我可以在其中创建一个列表,例如:

min = 5;
step = 2;
max = 16;
Range = min:step:max;

Range 是列表 [5,7,9,11,13,15]。

在 C++ 中是否有一种等效的简单方法来生成像“Range”这样的列表?到目前为止,我能想到的最简单的事情是使用 for 循环,但这相对来说相当乏味。

最佳答案

C++ 不提供这样的东西,无论是语言还是标准库。我会编写一个函数模板,使其看起来(大致)像标准库中的东西,顺序如下:

namespace stdx {
template <class FwdIt, class T>
void iota_n(FwdIt b, size_t count, T val = T(), T step = T(1)) {
for (; count; --count, ++b, val += step)
*b = val;
}
}

从那里看起来像这样:

std::vector<int> numbers;
stdx::iota_n(std::back_inserter(numbers), 6, 5, 2);

关于c++ - 如何在C++中快速创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28447920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com