Shared_ptrの作成と共有
メニューを表示するにはスワイプしてください
推奨される方法
共有ポインタを作成する推奨方法は、std::make_shared 関数を使用することです。この方法は、new を使うよりも効率的かつ表現力が高いのが一般的です。オブジェクトと制御ブロック(参照カウント)のメモリを一度に割り当てます。例えば:
make_shared.h
12// Create a shared pointer to an integer std::shared_ptr<int> p_int = std::make_shared<int>(42);
上記の行は動的な整数を割り当て、さらに参照カウントが1の共有ポインタとして初期化します。
非推奨の方法
new を使用して shared pointer を作成することも可能ですが、この方法は表現力に欠け、効率的でもないため推奨されません。この方法の構文では、オブジェクトを shared pointer のコンストラクタに渡す必要があります。
creating_shared_pointer.h
12// Also creates a shared pointer to an integer std::shared_ptr<int> p_int(new int(42));
動的な整数を割り当て、その後 shared pointer のコンストラクタに渡します。ただし、コントロールブロック(参照カウント)はコンストラクタ内で初期化されます。
つまり、2回の初期化が行われるため非効率的であり、エラーが発生する可能性があります。
共有ポインタの受け渡し
共有ポインタは、安全な共有のために設計されたスマートポインタ。ここでは、共有ポインタを受け渡すいくつかの方法について説明。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 8
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 8