宏定义的缺陷

#define MyAdd(a,b) a+b
int a = 10, b = 20;
int c = MyAdd(a,b) *20;

预计 c 的结果是 600,然而结果是 410

内联函数:在函数前面写 inline

inline void test01(){
    int a = 10, b = 20;
    cout << (a+b)*20 << endl;
}

内联函数解决了宏定义的缺陷,而且没有真正的函数开销那么大,类内部的成员函数前面默认加inline

注意:内联函数声明和实现前面都要加 inline 关键字,加不加编译器会自己决定你敢信,所以自己没必要加,了解就行

posted @ 2020-10-24 08:58  MAOCE  阅读(148)  评论(0)    收藏  举报