您的位置:首页 > 其它

const&和const作为返回类型

2014-03-03 21:32 190 查看
&类型和const&作为返回类型的区别:

1.引用类型作为返回类型

一.可以作为左值(可以对其赋值),如果返回值没有&则不不能作为左值

二.省去拷贝构造,加快效率(还没有验证)

2.cosnt&做为返回类型

一.不能作为左值
二.省去拷贝构造

三.左值和右值的区别

左值:左值必须应该是一个变量或者是表达式等,但是它的物理位置是可以确定的,即编译器能确定其所在内存的地址

右值:可确定或不确定均可

自增(++)或自减(--)不能作为左值

3.const作为变量或参数

一.作为参数时

1.指针类型

例如const char *p

则不能对指针所指向的内容改变

若为char *const p

则不能改变指针的指向,即指针变量p的值

2.非指针类型

不能改变其值

例如 void Fun(const int nNum){nNum = 100;}//错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: