C++相談室 part128 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0523デフォルトの名無しさん
2016/12/13(火) 07:31:31.56ID:vJwCdf+q> メモリレイアウトは配列と同じになるけど配列アクセスするとマズい理由。
動作が保証されないから
> struct vec3{float x,y,z;};
vec3 v;
float *a = &v;
の場合に 8086 などのセグメントアーキテクチャだと v.x と v.y でセグメント切り替えを行う必要があるかもしれないからそのようなコードを生成するけど a[0] と a[1] でその切り替えを行う保証がないとか
(配列として宣言されてればサイズがわかっているのでセグメント切り替えをサボることができるように配置できる)
■ このスレッドは過去ログ倉庫に格納されています