宏定义与内置函数的比较

Posted qq1480040000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宏定义与内置函数的比较相关的知识,希望对你有一定的参考价值。

/*
time:20200415
where:gfdx
man:g-7.net
*/
#include<iostream>
using namespace std;
#define doub(x)x*2
int main()
{
    for (int i = 1; i <= 4; i++)
    {
        cout << i << 	<< "doubled is" << 	<<double(i) << endl;
    }
    //计算错,编译程序解释为:cout<<"1+2doubled is<<1+2*2<<endl;
    cout << "1+2doubled is" << double(1 + 2) << endl;
    return 0;
}
/*
使用内置函数代替宏定义,就能消除宏定义的不安全性。
内置函数具有宏定义的优点但没有其缺点*/
#include<iostream>
using namespace std;
inline int doub(int x)
{
    return x * 2;
}
int main()
{
    int i;
    for (i = 1; i <= 4; i++)
    {
        cout << i <<	<< "doubled is" <<	<<doub(i) << endl;
    }
    cout << "1+2doubled is" <<	<< doub(1 + 2) << endl;
    return 0;
}

 

以上是关于宏定义与内置函数的比较的主要内容,如果未能解决你的问题,请参考以下文章

2C++ 的升级

VBS 环境下如何调用EXCEL内置函数

c/c++宏函数的定义与使用(宏定义函数)(macro definition)

12_关于flask中的宏

宏和函数的比较(C/C++)

宏表达式与函数#undef条件编译