C++宏

預定義宏

  • __STDC_HOSTED__ 如果編譯器的目標系統環境中包含完整的標準C庫,那麼這個宏就定義爲1,否則宏的值爲0
  • __STDC__ C編譯器通常用這個宏的值來表示編譯器的實現是否和C標準一致,C++11標準中這個宏是否定義以及定成什麼值由編譯器來決定
  • __STDC_VERSION__ C編譯器通常用這個來表示所支持的C標準的版本,比如1999mml,C++11標準中這個宏是否定義以及寫成什麼值將由編譯器來決定
  • __STDC_ISO_10646__ 這個宏通常定義爲一個yyyymml格式的整數常量,例如1997121,用來表示C++編譯環境符合某個版本的ISO/IEC 10646標準
  • __func__ 基本功能就是返回所在函數的名字,事實上,按照標準定義,編譯器會隱式的在函數的定義之後定義__func__標識符。在C++11中,標準甚至允許其使用在類或結構體中。
#include <iostream>
using namespace std;

int main()
{
        cout<<"Standard Clib: "<<__STDC_HOSTED__<<endl;
        cout<<"Standard C: "<<__STDC__<<endl;
//      cout<<"C Standard version: "<<__STDC_VERSION__<<endl;
        cout<<"ISO/IEC: "<<__STDC_ISO_10646__<<endl;
        cout<<"Function name: "<<__FUNC__<<endl;

        return 0;
}
[root@localhost codes]# ./a.out 
Standard Clib: 1
Standard C: 1
ISO/IEC: 200009
Function name: main

閱讀自:《深入理解C++11:C++11新特性解析與應用》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章