当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

在C++中定义常量的两种方法的比较

    在C++中,要定义一个常量,有两种主要的做法

    1. 符号常量 (#define)

    2. 常值变量 (const)

    符号常量的定义方式,其实与C++本身没有关系,它是一个编译器指令,或者称为预处理指令(有关的预处理指令还有#include,#ifdefine等等)。它的用法如下

    #define PI 3.1415926

    这样的语法就定义了一个叫做PI的符号常量,它的值指定为3.1415926.

    【注意】因为它其实不是C++语法,所以它不需要(也不能)用分号结束。

    我们怎么使用呢

 #include <iostream>
#define PI 3.1415926

using namespace std;

int main()
{
    double Area(int radio);//声明方法
    cout<< Area(2)<<endl;
    return 0;
}

double Area(int radio)//实现方法,这是一个根据半径计算面积的方法
{
    return PI*radio*radio;
}

    与符号常量相对的,常值变量需要通过const关键字定义。相对来说,const更加现代,它是c++的一个关键字,它的用法如下

    const double PI=3.1415926;

    我们把上面的代码转换一下

 #include <iostream>

using namespace std;

const double PI=3.1415926;

int main()
{
    double Area(int radio);//声明方法
    cout<< Area(2)<<endl;
    return 0;
}

double Area(int radio)//实现方法,这是一个根据半径计算面积的方法
{
    return PI*radio*radio;
}

 

    总结起来说,我们推荐用const,而不是#define预处理指令

    1. const可以定义数据类型,提高了类型安全性。例如,我们上面可以指定PI这个常量是double类型

    2. const既然是变量(这里有点别扭,它其实是不变的,但名称叫做常值变量),那么就有地址,适用面更加广

    3. 语法上也更好理解一些

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接