關於巨集定義中的#和##
1 #的功能是將其後面的紅引數進行字串話操作,即對它引用的巨集變數通過替換後在其左右兩邊都將上乙個雙引號
例如:
#define war_exp(exp) dowhile(0)
對於:war_exp(divier == 0);
預編譯階段替換為;dowhile(0)
2##的功能兩個token連線為乙個token,這個功能非常有用,可以減少我們在程式設計過程中的冗餘**,直接上例項
#define getset(type, name, name2) \
protected: type name; \
public: type get##name2() const \
void set##name2(type a##name2)
class link_symbol_test
getset(int, m_value0, _value0);
getset(int, m_value1, _value1);
getset(int, m_value2, _value2);
//.....
};
int _tmain(int argc, _tchar* argv)
{ //test case
link_symbol_test link_test;
link_test.set_value0(100);//m_vaule0
link_test.set_value1(200);
link_test.set_value2(300);
cout << "value0:" << link_test.get_value0() <
bat中的連線符
command1 command2 用來分隔乙個命令列中的多個命令。cmd.exe 執行第乙個命令,然後執行第二個命令。command1 command2 只有在符號 前面的命令成功時,才用於執行該符號後面的命令。cmd.exe 執行第乙個命令,然後只有在第乙個命令執行成功時才執行第二個命令。com...
談談 Python 中的連線符( )
假設有下面一段 a 1 2,3 4 b 5 6,7 8,9 c 11 12,13 14,15 16,17 18,19 20 for item in a,b,c item 0 10 len item print a print b print c這段 的意思是,有三個列表,需要在長度不為 10 的列表...
巨集定義中的 連線符與 符
連線符與 符 連線符號由兩個井號組成,其功能是在帶引數的巨集定義中將兩個子串 token 聯接起來,從而形成乙個新的子串。但它不可以是第乙個或者最後乙個子串。所謂的子串 token 就是指編譯器能夠識別的最小語法單元。具體的定義在編譯原理裡有詳盡的解釋,但不知道也無所謂。同時值得注意的是 符是把傳遞...