スレを勃てるまでもな ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドの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 以降の続き またその場合オーバーヘッドが気になるんですが、 皆さんどう対処してらっしゃいますか? お願いします。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5379日前に更新/192 KB
担当:undef