我现在想制作将一些元素推送到支持push_back
运算符的向量和其他类型的模板。
我可以这样做
template<typename T>
T fill(size_t n) {
T v;
//(1)
for(size_t i = 0; i < n; ++i){
v.push_back(generate_some_how());
}
return v;
}
有用。但现在我想提高支持它的类型的速度,v.reserve(n);
而不是(1)
. 但我仍然希望能够为无法编译的类型编译此代码reserve
这是实现这一目标的简单方法吗?
我知道我可能专门研究硬编码类型,但它似乎并不好。
C++11 没问题。