例如:#define to_string( s ) # s
將會使編譯器把以下命令
cout << to_string( hello world! ) << endl;
理解為cout << "hello world!" << endl;
例如:#define concatenate( x, y ) x ## y
int xy = 10;
將會使編譯器把
cout << concatenate( x, y ) << endl;
解釋為cout << xy << endl;
理所當然,將會在標準輸出處顯示'10'.
下面是完整的例子:
#include using namespace std;
#define to_string(s) #s
#define concatenate(x,y) x##y
int main(void)
輸出 :
hello world!
10參考:
1. c++語言參考之預處理命令
2. c語言裡##連線巨集的時候, 好像巨集不能展開? 請高手指點.
c語言操作符 位操作符 移位操作符
1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...
C語言操作符
操作符的分類 1 算術操作符 2 移位操作符 3 位操作符 4 賦值操作符 5 單目操作符 6 關係操作符 7 邏輯操作符 8 條件操作符 9 逗號表示式 1 算術操作符 1 除了 操作符之外,不能用於浮點數。2 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...
C語言 操作符
c語言的操作符有很多種,也很重要,可分為以下幾類 1.算術操作符 除法中 倆個整形相除結果也等於整形 含有浮點型的除法中結果也為浮點型。模運算只能用於整數,因為有小數點時,為浮點數運算,浮點數除法中不存在小數。int main 2.移位操作符 左移 左邊直接拋棄,右邊補0 001 2 100 右移 ...