常引用是鸡肋吗?

来源:互联网 发布:地图交友软件 编辑:程序博客网 时间:2024/05/10 13:49

最近打算找个实习 ,看些笔试题啥的,看到了一个关于 引用和常引用的。引用不用说 就是个别名。

举个例子:

    int i;
    int &ref =i;
    i=10;
    cout<<ref<<endl;
    ref=12;
    cout<<i<<endl;
    int j=1;
    const int  ref2=j;
    j=3;
    cout<<j<<endl;
    cout<<ref2<<endl;

不论 i 有没有初始化 定义i的引用都行  但是如果 j 没有 初始化  那个ref2 就会创建失败 ,j 初始化为 1 后 ref2 的值就是 1 后面再改变 j 的值 ref2 确不变  这个 和引用的概念差了 好多。

我觉得真要 实现 真正的常引用 那就 是定义一个 const  然后再 定义对这个 常量的引用 这样才是 常引用  初始化以后 都不能改变。

int a;
constint&ra a;
ra 
1// 错误
1// 正确  

上面网上的这一段 是错的 定义ra 时 a 必须是初始化过了才行。

 欢迎指出 错误之处。。


0 0
原创粉丝点击