在我的代碼使用預處理宏預處理宏調用內聯函數
#define BAR(x) x+2
,但後來我意識到,我需要一個內聯函數在它的位置,並結束了與下面的代碼
#define BAR(x) in_bar(x)
inline double in_bar(double x) {
return x + 2;
}
void main() {
std::cout << BAR(2) << std::endl;
}
是它有效嗎?它似乎工作,但不會導致任何潛在的問題?
爲什麼保持MACRO? – Jarod42
@ Jarod42因爲否則我需要在多個地方編輯多個文件,並且它根本就不值得浪費時間... – Tim
'內聯雙BAR(double d){return x + 2;}'? – Jarod42