2
你好,我希望建立一個輔助類來初始化stl valarray。我想要做的是:初始化stl valarray在一行
std::valarray<float> vec(3);
vlist_of<float>(vec)(2)(3)(5);
所以我可以只使用一行命令語句在運行時初始化向量。 換做我已經tryed以下結構如下:
vlist_of<float> tmp(vec);tmp(2)(3)(4);
是否有可能什麼,我問:如果我做了以下
template <typename T>
struct vlist_of {
std::valarray<T>& data;
int i;
vlist_of(std::valarray<T>& _data):data(_data),i(0) {
(*this)(data);
}
vlist_of& operator()(std::valarray<T>& data){return *this;}
vlist_of& operator()(const T& t) {
data [i]=t;
i++;
return *this;
}
};
這種結構的工作原理?
我不明白你在找什麼樣的回答了。順便說一下,'(* this)(data);'爲什麼? :v – 2013-03-19 10:49:29
@ Magtheridon96我認爲他正在尋找valarrays的'Boost Assign'風格初始化 – sehe 2013-03-19 11:13:09