|
201 | 201 | <p class="text-right"><small> |
202 | 202 | 最終更新日時: |
203 | 203 | <time itemprop="datePublished" class="js-local-time" |
204 | | - datetime="2025-10-14T14:41:25+09:00"> |
205 | | - 2025年10月14日 14時41分25秒 (JST) |
| 204 | + datetime="2026-07-12T20:50:11+09:00"> |
| 205 | + 2026年07月12日 20時50分11秒 (JST) |
206 | 206 | </time> |
207 | 207 | <br/> |
208 | 208 | <span itemprop="author" itemscope itemtype="http://schema.org/Person"> |
209 | | - <span itemprop="name">Akira Takahashi</span> |
| 209 | + <span itemprop="name">komori-n</span> |
210 | 210 | </span> |
211 | 211 | が更新 |
212 | 212 | </small></p> |
@@ -364,14 +364,14 @@ <h2><code>shared_ptr</code>オブジェクトの構築</h2> |
364 | 364 | <li>(4) : 生ポインタの所有権、リソースを破棄する際に使用する関数オブジェクト、アロケータを受け取る。</li> |
365 | 365 | <li>(5) : リソースを破棄する際に使用する関数オブジェクトを受け取り、ヌルポインタを所有する<code>shared_ptr</code>オブジェクトを構築する。</li> |
366 | 366 | <li>(6) : リソースを破棄する際に使用する関数オブジェクトと、アロケータを受け取り、ヌルポインタを所有する<code>shared_ptr</code>オブジェクトを構築する。</li> |
367 | | -<li>(7) : <code>Y</code>のメンバへのポインタを共有する。</li> |
| 367 | +<li>(7) : 他の<code>shared_ptr</code>オブジェクトとリソースを共有し、保持するポインタを個別に指定する。</li> |
368 | 368 | <li>(8), (9) : 他の<code>shared_ptr</code>オブジェクトと、リソースを共有する。</li> |
369 | 369 | <li>(10), (11) : 他の<code>shared_ptr</code>オブジェクトから、リソースの所有権を移動する。</li> |
370 | 370 | <li>(12) : <code><a href="../weak_ptr.html">weak_ptr</a></code>オブジェクトが参照するリソースから、所有権を共有する<code>shared_ptr</code>オブジェクトを構築する。</li> |
371 | 371 | <li>(13) : <code>auto_ptr</code>オブジェクトから、リソースの所有権を移動する。</li> |
372 | 372 | <li>(14) : <code><a href="../unique_ptr.html">unique_ptr</a></code>オブジェクトから、リソースの所有権を移動する。</li> |
373 | 373 | <li>(15) : (1)と同じく、所有権を持たない、空の<code>shared_ptr</code>オブジェクトを構築する。</li> |
374 | | -<li>(16) : (7)の右辺値版。<code>Y</code>を<code>*this</code>にムーブしつつ、それのメンバへのポインタを共有する。</li> |
| 374 | +<li>(16) : 他の<code>shared_ptr</code>オブジェクトからリソースの所有権を移動し、保持するポインタを個別に指定する。</li> |
375 | 375 | </ul> |
376 | 376 | <h2>要件</h2> |
377 | 377 | <ul> |
@@ -412,13 +412,14 @@ <h2>効果</h2> |
412 | 412 | <li>(4) : リソースを破棄する際に使用する関数オブジェクト<code>d</code>を受け取り、ポインタ<code>p</code>を所有する<code>shared_ptr</code>オブジェクトを構築する。アロケータオブジェクト<code>a</code>のコピーを、内部のメモリ確保に使用する。</li> |
413 | 413 | <li>(5) : リソースを破棄する際に使用する関数オブジェクト<code>d</code>を受け取り、ヌルポインタを所有する<code>shared_ptr</code>オブジェクトを構築する。</li> |
414 | 414 | <li>(6) : リソースを破棄する際に使用する関数オブジェクト<code>d</code>を受け取り、ヌルポインタを所有する<code>shared_ptr</code>オブジェクトを構築する。アロケータオブジェクト<code>a</code>のコピーを、内部のメモリ確保に使用する。</li> |
415 | | -<li>(7) : <code>r</code>の所有権を持ち、ポインタとしては<code>p</code>を保持する<code>shared_ptr</code>オブジェクトを構築する。</li> |
| 415 | +<li>(7) : <code>r</code>と所有権を共有し、ポインタとしては<code>p</code>を保持する<code>shared_ptr</code>オブジェクトを構築する。</li> |
416 | 416 | <li>(8), (9) : <code>r</code>が空の場合、空の<code>shared_ptr</code>オブジェクトを構築する。そうでなければ、<code>r</code>とリソースを共有する<code>shared_ptr</code>オブジェクトを構築する。</li> |
417 | 417 | <li>(10), (11) : <code>r</code>が持つ所有権を、<code>*this</code>に移動する。</li> |
418 | 418 | <li>(12) : <code>r</code>が持つポインタのコピーを共有する<code>shared_ptr</code>オブジェクトを構築する。</li> |
419 | 419 | <li>(13) : <code>r</code>が持つ所有権を、<code>*this</code>に移動する。</li> |
420 | 420 | <li>(14) : 以下のように、(3)のコンストラクタに委譲する。<code>Deleter</code>が参照型でなければ<code>shared_ptr(r.<a href="../unique_ptr/release.html">release()</a>, r.<a href="../unique_ptr/get_deleter.html">get_deleter()</a>)</code>を呼び出し、そうでなければ<code>shared_ptr(r.<a href="../unique_ptr/release.html">release()</a>, <a href="../../functional/ref.html">ref</a>(r.<a href="../unique_ptr/get_deleter.html">get_deleter()</a>))</code></li> |
421 | 421 | <li>(15) : 空の<code>shared_ptr</code>オブジェクトを構築する。</li> |
| 422 | +<li>(16) : <code>r</code>が持つ所有権を<code>*this</code>に移動し、ポインタとしては<code>p</code>を保持する<code>shared_ptr</code>オブジェクトを構築する。</li> |
422 | 423 | </ul> |
423 | 424 | <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Postconditions。関数を実行後に満たされている条件。契約属性の`[[ensures]]`に相当">事後条件</a></h2> |
424 | 425 | <ul> |
|
0 commit comments