linux & C++Primer 学习笔记

    技术2022-05-20  34

    2011-03-02

    09:52:05

    Const 引用

     

    严格来说,“const 引用”的意思是“指向 const 对象的引用”。类似地,程序员使用术语“非 const 引用”表示指向非 const 类型的引用。

     

    const 引用可以初始化为不同类型的对象或者初始化为右值

     

    eg:

     

    int i = 10;

     

    const &pi1 = 11;

    const &pi2 =  i + pi1;

    cosnt &pi3 = 11 + i + pi1;

     

    同样的初始化对于非 const 引用却是不合法的,而且会导致编译时错误。

     

    why:

     

    对于不同类型的 const 引用:

     

    double dpi = 3.14;

    int &pi  = dpi;       //error

    const int &pi = dpi;      //ok

     

    编译器会把这些代码转换成如以下形式的编码:

    int tmp = dpi;

    const int &pi = tmp;

     

    所以当修改了dpi 的值以后,pi 的值仍为初始值:

     

     

    makefile:

    根据自己需求修改 SRC OBJ

    输出:

     3.14 3

    4.30 3

     

     


    最新回复(0)