C++引用的问题

[复制链接]
查看11 | 回复2 | 2012-8-17 18:00:04 | 显示全部楼层 |阅读模式
1.假如返回类而且不是引用的话,那么会调用类的拷贝构造函数,然后在删除临时变量类的时候调用析构函数,但是返回引用的话,直接返回原本的类,而没有调用拷贝构造和析构函数,所以时间大大节省2.假如参数是类的引用,那么传递类的话确会改变实参类的值,但是假如是值传递的话,只会改变形参类,不影响实参类,这个和指针传递,值传递普通变量的原理相同...
回复

使用道具 举报

千问 | 2012-8-17 18:00:04 | 显示全部楼层
第一个问题:你是说返回对象的引用吧?引用实际上是一种安全的不需要使用解引用操作符*的指针,函数返回对象的引用实际上就返回了一个32位数的指针,存放在eax寄存器里;而返回对象的话需要创建一个该类的临时对象,并调用拷贝构造函数用原有的对象对其初始化,比如函数内有个类A的对象a,用return a返回对象的话实际上创建了一个新的临时对象,并将a的数据拷贝到临...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行