[面試] C++ Inline Function & Macro差異
Published in
1 min readOct 28, 2018
Inline Function寫法
inline int square(int x) {
return x * x;
}
Macro寫法
#define SQUARE(x) ((x) * (x))
若執行
SQUARE(3+2);
因為是文字替代,所以會得到11而不是25
3+2*3+2
差異
基本上macro和inline function都可以省下速度,但Macro在預處理時,直接單純的文字替換,但inline function是在compile階段時,直接取代function。