File tree Expand file tree Collapse file tree 6 files changed +101
-254
lines changed
Expand file tree Collapse file tree 6 files changed +101
-254
lines changed Original file line number Diff line number Diff line change @@ -225,7 +225,7 @@ <h2>仕様</h2>
225225< p > ただし、次の場合には適用されない。</ p >
226226< ul >
227227< li > 一時オブジェクトが関数の引数として生成された場合</ li >
228- < li > 一時オブジェクトの(この規定が適用されない場合の)寿命が < code > for-range-initializer</ code > 完全式の終わりではない場合 </ li >
228+ < li > 一時オブジェクトの(この規定が適用されない場合の)寿命が < code > for-range-initializer</ code > < a class =" cpprefjp-defined-word " data-desc =" 完結式。full-expression。主に他の式の部分式ではない式。要するに一番外側の式。 " > 完全式 </ a > の終わりではない場合 </ li >
229229</ ul >
230230< h2 > 例</ h2 >
231231< p > 以下の例では、< code > getstr()</ code > が返す一時オブジェクトが範囲for文の末端まで延命されている。</ p >
@@ -314,9 +314,9 @@ <h3><a class="cpprefjp-defined-word" data-desc="問題が発生したときに
314314< p > 議論:</ p >
315315< p > この< a class ="cpprefjp-defined-word " data-desc ="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態 "> 例外</ a > 規定の解釈は難解であり議論がある。</ p >
316316< ul >
317- < li > この < code > t</ code > は "一時オブジェクトの寿命が < code > for-range-initializer</ code > 完全式の終わりではない場合 " にも該当すると考えられる</ li >
317+ < li > この < code > t</ code > は "一時オブジェクトの寿命が < code > for-range-initializer</ code > < a class =" cpprefjp-defined-word " data-desc =" 完結式。full-expression。主に他の式の部分式ではない式。要するに一番外側の式。 " > 完全式 </ a > の終わりではない場合 " にも該当すると考えられる</ li >
318318< li > この < code > t</ code > は、構文的に見ると < code > for-range-initializer</ code > の中で生じたとは言えないという意見もある</ li >
319- < li > "< code > for-range-initializer</ code > の中" を実行時のことだと解釈すると、そこから呼び出された関数の中なども含むことになるが、それを排除する規定が "一時オブジェクトの寿命が < code > for-range-initializer</ code > 完全式の終わりではない場合 " ではないか< ul >
319+ < li > "< code > for-range-initializer</ code > の中" を実行時のことだと解釈すると、そこから呼び出された関数の中なども含むことになるが、それを排除する規定が "一時オブジェクトの寿命が < code > for-range-initializer</ code > < a class =" cpprefjp-defined-word " data-desc =" 完結式。full-expression。主に他の式の部分式ではない式。要するに一番外側の式。 " > 完全式 </ a > の終わりではない場合 " ではないか< ul >
320320< li > インライン展開されたときなどに効いてくるのかもしれない</ li >
321321</ ul >
322322</ li >
Original file line number Diff line number Diff line change 188188
189189 < p class ="text-right "> < small >
190190 最終更新日時(UTC):
191- < span itemprop ="datePublished " content ="2026-02-13T08:56:17 ">
192- 2026年02月13日 08時56分17秒
191+ < span itemprop ="datePublished " content ="2026-04-01T20:04:35 ">
192+ 2026年04月01日 20時04分35秒
193193 </ span >
194194 < br />
195195 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196- < span itemprop ="name "> Akira Takahashi </ span >
196+ < span itemprop ="name "> Koichi Murase </ span >
197197 </ span >
198198 が更新
199199 </ small > </ p >
@@ -507,7 +507,7 @@ <h4><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価
507507</ code > </ pre > </ div >
508508</ p >
509509< h4 > < a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > の評価</ h4 >
510- < p > 契約アサーションの< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > 式が評価されるとき、それは< code > bool</ code > に文脈的に変換される。< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > 式は完全式(full expression) であるため、< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > の評価中に作成された一時オブジェクトは、その評価が完了したときに破棄される。</ p >
510+ < p > 契約アサーションの< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > 式が評価されるとき、それは< code > bool</ code > に文脈的に変換される。< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > 式は < a class =" cpprefjp-defined-word " data-desc =" 完結式。full- expression。主に他の式の部分式ではない式。要するに一番外側の式。 " > 完全式 </ a > であるため、< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > の評価中に作成された一時オブジェクトは、その評価が完了したときに破棄される。</ p >
511511< h3 > 契約の評価モード</ h3 >
512512< p > 各契約アサーションの個別の評価は、特定の評価セマンティクスで実行される。提案されている4つの評価セマンティクスは以下の通りである。</ p >
513513< h4 > ignore(無視)</ h4 >
Original file line number Diff line number Diff line change 188188
189189 < p class ="text-right "> < small >
190190 最終更新日時(UTC):
191- < span itemprop ="datePublished " content ="2026-04-01T15:00:42 ">
192- 2026年04月01日 15時00分42秒
191+ < span itemprop ="datePublished " content ="2026-04-01T20:04:35 ">
192+ 2026年04月01日 20時04分35秒
193193 </ span >
194194 < br />
195195 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196- < span itemprop ="name "> teruyamato0731 </ span >
196+ < span itemprop ="name "> Koichi Murase </ span >
197197 </ span >
198198 が更新
199199 </ small > </ p >
@@ -257,7 +257,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
257257</ ul >
258258< h2 > 備考</ h2 >
259259< ul >
260- < li > (1), (2) : 引数に一時オブジェクトを与えた場合、< code > minmax</ code > の呼び出しを含む完全式 ( full-expression; 一番外側の式) の評価が終わる時点で、返された参照の寿命が切れる(ダングリング)ことに注意:</ li >
260+ < li > (1), (2) : 引数に一時オブジェクトを与えた場合、< code > minmax</ code > の呼び出しを含む < a class =" cpprefjp-defined-word " data-desc =" 完結式。 full-expression。主に他の式の部分式ではない式。要するに一番外側の式。 " > 完全式 </ a > の評価が終わる時点で、返された参照の寿命が切れる(ダングリング)ことに注意:</ li >
261261</ ul >
262262< p > < div class ="yata " id ="4e36c2ca397921e3900d650cf34bd712b2ba0f02 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../cassert.html "> <cassert></ a > </ span >
263263< span class ="cp "> #include < a href ="../algorithm.html "> <algorithm></ a > </ span >
Original file line number Diff line number Diff line change 188188
189189 < p class ="text-right "> < small >
190190 最終更新日時(UTC):
191- < span itemprop ="datePublished " content ="2026-04-01T15:00:42 ">
192- 2026年04月01日 15時00分42秒
191+ < span itemprop ="datePublished " content ="2026-04-01T20:04:35 ">
192+ 2026年04月01日 20時04分35秒
193193 </ span >
194194 < br />
195195 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196- < span itemprop ="name "> teruyamato0731 </ span >
196+ < span itemprop ="name "> Koichi Murase </ span >
197197 </ span >
198198 が更新
199199 </ small > </ p >
@@ -276,7 +276,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
276276</ ul >
277277< h2 > 備考</ h2 >
278278< ul >
279- < li > (1) : 引数に一時オブジェクトを与えた場合、< code > minmax</ code > の呼び出しを含む完全式 ( full-expression; 一番外側の式) の評価が終わる時点で、返された参照の寿命が切れる(ダングリング)ことに注意:</ li >
279+ < li > (1) : 引数に一時オブジェクトを与えた場合、< code > minmax</ code > の呼び出しを含む < a class =" cpprefjp-defined-word " data-desc =" 完結式。 full-expression。主に他の式の部分式ではない式。要するに一番外側の式。 " > 完全式 </ a > の評価が終わる時点で、返された参照の寿命が切れる(ダングリング)ことに注意:</ li >
280280</ ul >
281281< p > < div class ="yata " id ="0550f3a2bfe7d7d847df13d025284717a02a34ea "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../cassert.html "> <cassert></ a > </ span >
282282< span class ="cp "> #include < a href ="../algorithm.html "> <algorithm></ a > </ span >
You can’t perform that action at this time.
0 commit comments