while(*dst++ = *src++);
while(*dst++ = *src++);
上の行は常に正しく(思った通りに)実行されるのかなぁ.
プログラミング言語C++第三版 §6.2.5には
「後置演算子を使えば,先に値を使ってからインクリメントすることができる」とあった.
てことは,
// while(*dst++ = *src++); while(*dst = *src){ // 下二行は順不定 dst++; src++; } // 下二行は順不定 dst++; src++;
には必ずなるということでいいのかな.