假设我有一个类:
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/