[過去ログ]
C++相談室 part164 (1002レス)
C++相談室 part164 http://mevius.5ch.net/test/read.cgi/tech/1683600652/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
73: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cb3e-FIIW) [sage] 2023/05/21(日) 00:13:09.51 ID:tvaGSf6W0 >>71 range-based for は等価なコードを示す形で意味論が規定されてる。 https://timsong-cpp.github.io/cppwp/n3337/stmt.ranged 「こう書いた場合の挙動と等しい」という説明が「このように展開される」と誤解されたんだろう。 コンパイラの内部で実際に展開しても構わないんだが プリプロセッサはフェイズの整合性がとれなくなるのでこの展開をプリプロセッサでは実現できない。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/73
74: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cb3e-FIIW) [sage] 2023/05/21(日) 00:41:25.84 ID:tvaGSf6W0 一時オブジェクトの寿命は個々の具体例を網羅的に覚えるというわけにもいかんので ちゃんと原則を理解しないといかんというのは警告しておく。 >>72 で提示された内容を解説すると、このとき createResult の結果である Result は一時オブジェクトなので 完結式の終わりには解体される。 (>>73 で提示した展開形を参照のこと。) 右辺値は参照で受けた場合に限りその参照の寿命と同じ分だけ寿命が延長されるというルールがあるので その原則に従えば Result::v の寿命は延長されるのだが v を内包する Result が解体されるときにメンバも解体してしまうので Result::v も無効になってしまう。 当然だがすでに解体されたオブジェクトはそのイテレータも全部が無効。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/74
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.046s