课程
/后端开发
/C++
/C++远征之模板篇
有一些返回引用有些返回对象怎么区分?
2018-08-09
源自:C++远征之模板篇 4-5
正在回答
这个却决于你想要什么样的返回值,
拿后置++来说,k=a++的本意是先使用a原来的值赋值给k,即先将a复制一份拿来用(创造一个零食变量b,令b=a,类的话就是实例化一个临时对象),然后再a+1。
再说前置++,k=++a的本意是a+1然后直接赋值给k,期间是不存在复制的,直接在a的位置运算,所以前置++的运算也比后置++的速度快一些,毕竟少了一步。
不管是前置++还是后置++返回的都是一个类指针,只是返回一个类的引用只是给类一个别名,而返回一个类时是实例化了一个类的对象。
函数名前面有&是返回引用,返回引用可以作左值,并且不会额外分配临时变量
举报
本C++教程力求即学即会,所有知识以实践方式讲解到操作层面