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 は問題ありません。