gpt4 book ai didi

c++ - 使用回调初始化 vector

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

假设我有一个类:

MyType callback(){
/// randomize here
.....
.....
return randomValue;
}

class MyClass{
private:
std::vector< MyType > m_vector;

public:
MyClass( unsigned int size ):m_vector(size, callbackHere? );
};

我需要用我生成的值初始化 vector ,我该怎么做?一种解决方案是为 MyType 创建一个空构造函数,这就是我所拥有的,但现在我想成对替换 MyType,因此空构造函数不起作用。

我的回调将返回随机值,所以最后我想要一个包含一些随机值的 vector 。

谢谢

最佳答案

你可以写一个自定义的类似迭代器的类型

  • 在调用前/后缀 ++ 时生成一个新值
  • 在通过 operator*
  • 取消引用时生成生成的值
  • 当你完成生成值时,等于一些哨兵对象(end 迭代器)

关于c++ - 使用回调初始化 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21509225/

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