#define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; })
其中void (&_x==&_y)的作用是检查_x和_y的类型是否一致(如果不一致会抛出编译警告)
void表示将(&_x==&_y)所得到的结果忽略,不加void会提示代码无意义。
#define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; })
其中void (&_x==&_y)的作用是检查_x和_y的类型是否一致(如果不一致会抛出编译警告)
void表示将(&_x==&_y)所得到的结果忽略,不加void会提示代码无意义。
转载于:https://www.cnblogs.com/Jayce-chen/p/7814938.html