08/06/13 07:57:56
>>221
> char 配列の要素ごとの代入でコピーできるなら「std::memcpy や std::memmove も含まれる」のような
> ニュアンスで注釈を付けるんじゃないかな?
"for example" って書いてあるんだから、そういうことだと思うよ。
1.7, 1.8 より、 POD 型のオブジェクトはメモリ上で連続する
バイト列とされている。
3.9.1 p1 により、 char, unsigned char はバイト中のすべての
ビットが値に反映されることになっているので、これらの型を介して
バイトを正確にコピーできる。
memcpy などの動作は引数の指すメモリ上の位置から連続する
バイト列に対する操作として定義されているので、 char* を使って
同様にバイト列をコピーするコードを書けば同じ意味になる。
そのような操作に対する意味が 3.9 p2, 3.9 p3 の範囲で確定する。
これ以外のバイト操作( POD 型のオブジェクトに属さないバイトの
操作や、オブジェクトひとつに満たない部分的な操作)については
意味も動作も規定はない。(不定?)