C++相談室 part90
■ このスレッドは過去ログ倉庫に格納されています
0233デフォルトの名無しさん
2011/07/26(火) 14:55:48.31> いうのならば、↓これがunspecifiedという事になってしまう。
C++03 までは unspecified なコードだね。
> すなわち、「これらの変換」とはその前(スタンダードタイプでかつT2のアライメント要求が
> 厳しくない、またはどちらかがvoid)の変換も含む。
で、 >>204 のコードでは void* data → A* だから「どちらかがvoid」に含まれ、
その結果は static_cast<A*>(static_cast<void*>(data)) となる、つまり
static_cast<A*>(data) になる、と C++11 では新たに規定されることになった。
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#658
■ このスレッドは過去ログ倉庫に格納されています