导航

C++学习笔记(4)const限定符

Posted on 2015-06-24 13:19  Charles__Wang  阅读(167)  评论(0)    收藏  举报

一、默认状态下const对象仅在文件内有效,可以使用extern关键字设置所有文件都可以访问。

二、对常量的引用:const int ci = 1024; const int &r = ci;

三、临时量(临时量对象):当编译器需要一个空间来保存表达式的求值结果时临时创建的一个未命名对象;

四、指向常量的指针:

    1、const double a = 0.6; const double *p = &a;

    2、double b = 0.5; const double *p2 = &b;

    注意:常量指针可以指向一个非常量对象;但是非常量指针不能指向常量对象;

五、常量指针:

    const double a = 0.8;

    const double *const pi = &a;

六、顶层const表示指针本身是一个常量,底层const表示指针所指的对象是一个常量;声明引用的const都是底层const

七、常量表达式和constexpr变量;

    常量表达式是指值不会改变并且在编译过程中就能得到结果的表达式。

    声明为constexpr的变量一定是一个常量,而且必须用常量表达式来初始化。

八、字面值类型:算术类型、指针、引用都属于字面值类型。

    constexpr定义的指针必须是存放固定地址或者为nullptr或0;

    const int *p = nullptr;指向常量的指针

    constexpr int *q = nullptr;常量指针