close
# 和 ##這兩個是個非常好用的前置定義語法,通常搭配#define出現
1. #的用途是將啣接的符號轉換成字串
example
#define to_string(s) #s
使用方法
cout << to_string(Hello World!) << endl;
看清楚,Hello World並沒有"",因此它並不是字串,但是透過定義的巨集to_string可以將Hello World!符號轉換為字串。
以上程式片斷等於
cout << "Hello World!" << endl;
2. ##的用是將兩個程式片斷合併
example
#define concatenate( x, y) x##y
....
int xy = 10;
....
cout << concatenate( x, y) << endl;
等同於
cout << xy << endl;
##,#的功能太強大了,這裡實在說不清楚,畢竟要實作時才能體會它的強大威力
大家有興趣可以去看RTTI2部曲有用到##與#這兩個強大功能
至於其他使用的地方,就請大家仔細看看以後發的文章吧
讓我們一起大喊彼得哥萬歲~~~~~~~~
全站熱搜