>>370
[補足]
マクロ引数が二重に評価されてしまうのを防ぐため、マクロ作者が
気を利かせたつもりで次のようなマクロを書いたとする:
#define b(x,y) {int _x=x; int _y=y; f(_x,_y); g(_x,_y); }
作者の意図としては、
char *ptr1, *ptr2;
b(*ptr1++, *ptr2++);
のような場合にも正しく動作するようにしたいということで、
この場合は、*ptr1++, *ptr2++ は、それぞれ1回ずつ評価されるので、
ptr1, ptr2 は、それぞれ 1ずつ前に進むので、アプリ作者の意図を
組むことが出来る。
一方、使う側が命名規約に従わず、アプリのローカル変数で_x,_yを定義し、
int _x=1;
int _y=2;
b(_y,_x);
とすると、このマクロは誤動作し、
int x=1;
int y=2;
b(y,x);
と書いたときと結果が変わってくる。
探検
C++相談室 part154
■ このスレッドは過去ログ倉庫に格納されています
376デフォルトの名無しさん
2021/01/31(日) 16:51:19.01ID:ZnRwde8F■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 緊急地震速報 東北 北海道 [KingFisherは魚じゃないよ★]
- ■緊急地震速報 東北 北海道 最大震度6強 [人気者★]
- ■津波警報発令 3m 青森太平洋沿岸 岩手 北海道 す ぐ 逃 げ て [人気者★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 [ぐれ★]
- 津波警報発令! 青森太平洋沿岸 岩手 北海道太平洋沿岸中部 すぐ逃げて!!! [KingFisherは魚じゃないよ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 地震
- 津波警報 3メートル 早く逃げろ!!!!!!!! [579392623]
- 地震 ★2
- 【速報】高市早苗、起床 [779938112]
- 【高市画像】3mの津波、結構やばい❗❗ [573041775]
- 大地震
