##__VA_ARGS

__VA_ARGS__ 是一個可變參數的宏,很少人知道這個宏,這個可變參數的宏是新的C99規范中新增的,目前似乎只有gcc支持(VC6.0的編譯器不支持)。宏前面加 上##的作用在于,當可變參數的個數為0時,這里的##起到把前面多余的","去掉的作用,否則會編譯出錯, 你可以試試

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • C中的預編譯宏定義 2009-02-10 作者: infobillows 來源:網絡 在將一個C源程序轉換為可執行...
    白水灬煮一切閱讀 1,634評論 0 5
  • ##名稱:預處理拼接符,或者稱其為宏拼接符作用:用于類似函數的宏的替換部分,還可以用于類似對象的宏的替換部分。##...
    afb399d1a25f閱讀 4,351評論 0 2
  • 一直以來用宏定義#define也就是定義一些簡單的常量,至多也就是定義一個函數,很少關注宏定義的用法。直到看到這樣...
    ant_flex閱讀 2,029評論 0 3
  • 宏定義在C系開發中可以說占有舉足輕重的作用。底層框架自不必說,為了編譯優化和方便,以及跨平臺能力,宏被大量使用,可...
    你好自己閱讀 1,061評論 0 5
  • _VA_ARGS_該宏代表是可變參數;就是宏定義中參數列表的最后一個參數為省略號(也就是“···”)。這樣預定義宏...
    yehkong閱讀 983評論 0 0