「C++の基礎 - スマートポインタ(unique ptr)」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
152行目: 152行目:
<code>std::shared_ptr</code>で扱いたい場合、受け取った<code>std::unique_ptr</code>を<code>std::shared_ptr</code>に代入するとよい。<br>
<code>std::shared_ptr</code>で扱いたい場合、受け取った<code>std::unique_ptr</code>を<code>std::shared_ptr</code>に代入するとよい。<br>
(<code>std::shared_ptr</code>のコンストラクタにおいて、<code>std::unique_ptr&&</code>を取るものが存在する)<br>
(<code>std::shared_ptr</code>のコンストラクタにおいて、<code>std::unique_ptr&&</code>を取るものが存在する)<br>
<br>
  <syntaxhighlight lang="c++">
  <syntaxhighlight lang="c++">
  // factory methodで作成したオブジェクト
  // factory methodで作成したオブジェクト
175行目: 174行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
==== クラスのメンバ変数 ====
==== クラスのメンバ変数 ====
所有権を持っている場合、<code>std::unique_ptr</code>または<code>std::shared_ptr</code>を使用する。<br>
所有権を持っている場合、<code>std::unique_ptr</code>または<code>std::shared_ptr</code>を使用する。<br>