大佬教程收集整理的这篇文章主要介绍了c – 复制构造函数的存在会导致函数通过引用而不是值返回,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <iostream> using namespace std; class Foo { public: Foo () {} // Foo (const Foo &) { cout << "Copy con" << endl; } }; Foo test () { Foo foo; cout << &foo << endl; return foo; } int main () { Foo foo = test(); cout << &foo << endl; }
但是,如果我在上面的代码中取消注释复制构造函数并再次运行它,它会输出两次相同的内存位置.为什么?它根本不会打印出“复制con”,所以我知道没有调用复制构造函数.似乎仅仅存在复制构造函数会导致某种优化,即使它没有被调用.
我正在使用GCC 4.6.3上的“g -Wall test.cpp -o test”进行编译.
以上是大佬教程为你收集整理的c – 复制构造函数的存在会导致函数通过引用而不是值返回全部内容,希望文章能够帮你解决c – 复制构造函数的存在会导致函数通过引用而不是值返回所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。