スレを勃てるまでもないC/C++の質問はここで 5at TECHスレを勃てるまでもないC/C++の質問はここで 5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト470:デフォルトの名無しさん 09/01/03 16:23:26 #include <iostream> #include <vector> using namespace std; class MyClass { public: MyClass() {}; ~MyClass() {}; void print() { cout << "addr=" << this <<endl; } }; int main(int ac, char *av[]) { vector<MyClass> vec; MyClass *my = new MyClass(); vec.push_back(*my); my->print(); vec.at(0).print(); delete my; return 0; } 471:469 09/01/03 16:24:46 >またその場合オーバーヘ%8 以降の続き またその場合オーバーヘッドが気になるんですが、 皆さんどう対処してらっしゃいますか? お願いします。 472:デフォルトの名無しさん 09/01/03 16:27:46 当然コピーが発生する。 ただ、 vector<MyClass*> vec; vec.push_back(my); みたいにアドレスをコピーする分には インスタンスのコピーは発生しない。 ただ、メモリ管理を自分でしないといけなくなってしまう。 boost::ptr_vector を使うという手もある。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch