スレを勃てるまでもないC/C++の質問はここで 5at TECHスレを勃てるまでもないC/C++の質問はここで 5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト469:デフォルトの名無しさん 09/01/03 16:22:56 自身thisのアドレスをprintするメソッドを持つクラスを作成して 以下のようにvectorに追加する前のインスタンス とvector内のインスタンスでprint()を実行したのですが、 addr=0x804b008 addr=0x804b018 と別のアドレスになります。 同じになると思っていたのですが、 これはvectorに登録する時点でインスタンスが コピーされていると考えればいいのでしょうか? またその場合オーバーヘ%8 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 以降の続き またその場合オーバーヘッドが気になるんですが、 皆さんどう対処してらっしゃいますか? お願いします。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch