[過去ログ] 【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
262(1): 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/03(木) 00:37:28.83 ID:YO3k3fE8(1/4) AAS
>>251251(2): 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 22:46:24.97 ID:tJX9Zx+g(4/9) AAS
resizeは、引数なしのコンストラクターでオブジェクトを作成して、それをvector内部にコピーする。
このコピーの際にコピーコンストラクターが使われる。コピーコンストラクターは記述されていないから、暗黙のものが使われる。
それはポインターの中身をコピーしていないから、問題がある。
コピーコンストラクターじゃなくて、代入でした。すみません。
263: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/03(木) 00:44:37.38 ID:YO3k3fE8(2/4) AAS
>>262
あ、コピーコンストラクターは、C++03の方で、C++11なら、ムーブコンストラクターとムーブ代入が使えるから、少し動作が違うんだった。
265: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/03(木) 00:48:11.43 ID:YO3k3fE8(3/4) AAS
ってことは、C++11の場合は、
CManiac(CManiac&& cm)
{ ... }
と
CManiac& operater=(CManiac&& cm)
{
...
return *this;
}
を書くんだね。これで完璧。
268: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/03(木) 01:02:16.06 ID:YO3k3fE8(4/4) AAS
C++11のemplace_backを忘れてた。コピーせずに、vector内部で直接構築されるんだった。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.058s