これらは効果的に同じことをしていますか?
vector<MyType> stuff;
MyClass(MyType *things, int numThings){
for (int i = 0; i < numThings; ++i){
//stuff[i] = things[i]; //original version of question, fixed
stuff.push_back(things[i]);
}
}
対。
vector<MyType> stuff;
MyClass(MyType *things, int numThings) : stuff(things, things+numThings) {}//fixed
そうである場合、どちらのアプローチを使用しても多かれ少なかれオーバーヘッドはありますか? (方法 1 の追加入力を除く)