iOS 宏的写法

     

#define kMIN(A,B) A < B ? A : B    不准确


#define kMIN(A,B) ({__typeof__(A) _a = (A); __typeof__(B) _b = (B); _a < _b ? _a : _b;}) 


 int  j  = 3 ;
    int  q  = 4 ;
    //通过## 可以将3和4连接到一起 .
    j##q;

#define __NSX_PASTE__(A,B) A##B

#if !defined(MIN)
    #define __NSMIN_IMPL__(A,B,L) ({ __typeof__(A) __NSX_PASTE__(__a,L) = (A); __typeof__(B) __NSX_PASTE__(__b,L) = (B); (__NSX_PASTE__(__a,L) < __NSX_PASTE__(__b,L)) ? __NSX_PASTE__(__a,L) : __NSX_PASTE__(__b,L); })
    #define MIN(A,B) __NSMIN_IMPL__(A,B,__COUNTER__)
#endif

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。