1,写一个C++的宏定义#define max(a,b),会有什么问题,Linux中是如何解决的,C++中一般是如何解决的呢?答:step1: #define max(a,b) (((a)>(b))?(a):(b))step2:如果a=i++ 变量值会在替换的过程中自+,值会变化不同的编译器会有不同的处理方法,这样的代码不符合标准 GCC下为了避免这样的副作用,文档中使用如下的定义:{statement list}是一个表达式,里面可以有很多语句#define min(X,Y) (extension ({ typeof(X) x = X,typeof(Y) __y = Y):(x<...