C++ const总结

Posted LarryZeal

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ const总结相关的知识,希望对你有一定的参考价值。

先说结论

  • 非引用类型的赋值无所谓const。
  • const引用可以指向const及非const。但非const引用只能指向非const。
  • 指向const的指针,可以指向非const。但指向非const的指针,只能指向非const。

 

代码说明一切

#include <iostream>
#include <string>

using namespace std;

//test const
int main(){
    //------------测试非引用------------
    int no=10;
    const int no2=no; //OK
    int no3=no2; //OK!
    //上面得出结论:非引用类型的赋值无所谓const 



    //------------测试引用------------ 
    int &noref=no;
    const int &noref1=no;

//    int &no2ref=no2;
    const int &no2ref1=no2;

    int &no3ref=no3; 
    const int &no3ref1=no3;
    // 上面得出结论:const引用可以指向const及非const。但非const引用只能指向非const。



    //------------测试指针------------
    int *pno=&no;
    const int *pno_1=&no;//指向const的指针,可以指向非const 

//    int *pno2=&no2;//指向非const的指针,只能指向非const 
    const int *pno2_1=&no2;

    int *pno3=&no3;
    const int *pno3_1=&no3;
    // 上面得出结论:见备注    


    return 0;
}

 

以上是关于C++ const总结的主要内容,如果未能解决你的问题,请参考以下文章

关于C++ const 的全面总结

关于C++ const 的全面总结《转》

C++中const关键字的使用总结

c++的const总结(转)

c++ const总结

c++中的const和volatile知识自我总结