トップページ > プログラム > 2016年12月15日 > T67tgzmG

書き込み順位&時間帯一覧

4 位/206 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000320000000000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part128 [無断転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part128 [無断転載禁止]©2ch.net
597 :デフォルトの名無しさん[]:2016/12/15(木) 10:17:49.88 ID:T67tgzmG
>>596
>>592 は >>590に宛てたものだよ
C++相談室 part128 [無断転載禁止]©2ch.net
598 :デフォルトの名無しさん[]:2016/12/15(木) 10:23:21.22 ID:T67tgzmG
一応補足しとくと、Cで保証されてるのはunionの全く別の型からのアクセス
type punningと呼ばれるやつ
C++相談室 part128 [無断転載禁止]©2ch.net
601 :デフォルトの名無しさん[]:2016/12/15(木) 10:49:41.51 ID:T67tgzmG
>>600
そのリンク先で期待通りにならないっていうのはstrict aliasing ruleのせいであってunionと直接関係ないよ
例のコードの関数は引数に渡された二つの互換性のない型がunionのメンバーと解らない状態だからね。
C++相談室 part128 [無断転載禁止]©2ch.net
603 :デフォルトの名無しさん[]:2016/12/15(木) 11:18:18.89 ID:T67tgzmG
>>602
単純な話だよ。リンク先の例の関数はunionのメンバーとしてアクセスしてないでしょ?
C++相談室 part128 [無断転載禁止]©2ch.net
605 :デフォルトの名無しさん[]:2016/12/15(木) 11:38:15.00 ID:T67tgzmG
>>604
それはちょっと違う
上にも書いたけどstrict aliasing ruleっていうのがあって互換性のない別の型にreinterpret_castして書き換えた後、元の型で参照しても書き換えた結果が反映されないということがあり得る。そのルールではcharなどのバイト型とかについては特別扱い
strict aliasing ruleについては詳しくはググって。
解りやすい翻訳記事が出るから


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。