va_arg

#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )


看了半天没搞懂,原来是括号看错了,

应该是( *(t *) ( (ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )

之前看成了:

( *(t *)( (ap += _INTSIZEOF(t)) )           -          _INTSIZEOF(t)) 


能不能不要加这么多括号。。


原文地址:https://www.cnblogs.com/mosakashaka/p/12534677.html