C++函数参数&方式传递 会调用类的复制构造函数吗?

[复制链接]
查看11 | 回复3 | 2013-1-27 22:20:48 | 显示全部楼层 |阅读模式
既然是引用(也叫别名),也就是说和指针一样(实际上如果你懂得汇编,你会发现引用也是通过指针来实现的),并没有创建新的对象,当然不会调用任何构造函数.其实还有一些应该要调用复制构造函数的地方,由于编译器的优化也会出现不调用的情况,最典型的是返回值优化,如:std::string func(void){
return std::string("Hello World");}int main(void){
std::string str = func();}当使用VC选择release时.不过这并非是C++标准规定的....
回复

使用道具 举报

千问 | 2013-1-27 22:20:48 | 显示全部楼层
不会。str是实参的引用别名。...
回复

使用道具 举报

千问 | 2013-1-27 22:20:48 | 显示全部楼层
不会啦
只是一个变量会有两个名字而已...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行