Chinaunix首页 | 论坛 | 博客
  • 博客访问: 527573
  • 博文数量: 158
  • 博客积分: 4015
  • 博客等级: 上校
  • 技术积分: 1711
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-27 14:00
文章分类

全部博文(158)

文章存档

2010年(71)

2009年(87)

我的朋友

分类: C/C++

2010-01-28 21:10:14

可以把非const引用赋值给const引用,不能把const引用赋值给非const引用,指针同样如此。
但是我们可以把一个const引用赋值给非const类型!!!因为const引用具有读的属性,但是任何想通过它来对存储区域进行引用的引用,安全性只能增加或平衡,不能减弱。

一句话:安全性可以增强或平衡,但不可以减弱。


#include <iostream>
using namespace std;

int main() {
    int a = 1;
    const int& b = a;
    int& c = a;
    const int& d = c;
    int f = b;
    f++;
    // b is 1, not 2!!!!!!

    cout << b << endl;
    // error

    //int& e = d;


    const int* bb = &a;
    int* cc = &a;
    const int* dd = cc;
    //error

    //int* ee = dd;

}


阅读(1182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~