define中的連線符( )的使用

2021-06-06 20:09:52 字數 955 閱讀 5741

關於巨集定義中的#和##

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 就是指編譯器能夠識別的最小語法單元。具體的定義在編譯原理裡有詳盡的解釋,但不知道也無所謂。同時值得注意的是 符是把傳遞...