gpt4 book ai didi

c++ - 对于 std::generate,传递的函数可以使用索引吗?

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

问题中的措辞有点困难,所以我会举个例子。假设我愿意:

generate(myvec.begin(), myvec.end(), func())

我能否拥有它以便 func() 可以读取生成的索引:

int func()
{
if(index<2)
return 1;
else
return 2;
}

myvec[0]=1, myvec[1]=1, myvec[2]=2, myvec[3]=2,..., myvec[N]=2

最佳答案

简短的回答是“不,不直接”。它可以创建自己的变量来跟踪索引,但是(在这种情况下)根本无法访问索引本身。

在这种情况下,我几乎肯定只会使用 std::fill 两次:

std::fill_n(myVec.begin(), 2, 1);
std::fill(myVec.begin()+2, myVec.end(), 2);

更短、更简单。

关于c++ - 对于 std::generate,传递的函数可以使用索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823291/

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