>>846
ポインタ使え思想はすでにC#とかなクラスが参照型な言語で実現されているが
オブジェクトの解放にガベージコレクタが要る言語になった
これはガベージコレクタ無し・所有権の無条件移動だけだと、次のようなケースで早速話が破綻するから仕方が無い
void bar(int n) {
std::unique_ptr<Foo> a(new Foo());
for (int i = 0; i < n; i++) {
func1(a, i); // func1(a, 0);で所有権がgone 以降のfunc(a, i)はaの不正アクセス
}
}
不正アクセスにならないように、実際にはこのようなfunc1()にはa.get()でポインタを渡す書き方をする
するとfunc1()以下の呼び出しは全部>>844になる
人類に逃げ場は無い
C++相談室 part137
■ このスレッドは過去ログ倉庫に格納されています
848デフォルトの名無しさん (ワッチョイ 9fbd-G9Ql)
2018/09/30(日) 06:48:23.20ID:d4gXl3Bi0■ このスレッドは過去ログ倉庫に格納されています
