yhzjut

我的微博:http://weibo.com/u/1864371954

常用链接

统计

最新评论

const 引用的一些猜测

最近在调试一段代码发现几个问题:
class test
{
public:
testtest(){}
testtest(int a);
testtest(const testtest& c );
}

有某个函数如何下
void create(const test& a)
{
}
调用如下:
create(1) 这样使用编译通过了,而且会调用testtest(int a)的构造函数
然后我就像把create的const去掉试一下
create(test& a)结果编译错误
我就想加了const为什么会调用构造函数?
当然create(test a)这样肯定也是会调用构造函数的。之后我就猜想 函数参数const testest& c和testtest c是允许有临时变量产生因此允许调用构造函数。testtest& 只是想引用是不会调用构造函数的。

但是我又想const testets& 为什么要弄个临时变量呢,因为函数内对const引用改变 会有报错的,可能是为了安全吧,仅仅猜想,vs2008调试

posted on 2012-08-28 11:24 blinn 阅读(136) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理