在c ++中复制构造函数

Vij*_*jay 1 c++

可能重复:
为什么复制构造函数应该通过C++中的引用接受其参数?

为什么我们总是在拷贝构造函数中有一个引用?

如果有class:

class Base{};
Run Code Online (Sandbox Code Playgroud)

它的复制构造函数是:

Base::Base(const Base& B);
Run Code Online (Sandbox Code Playgroud)

为什么总是作为参数的参考?

SLa*_*aks 14

如果它不是引用,编译器将需要调用复制构造函数以将参数传递给复制构造函数.

这将导致堆栈溢出http://www.prodeveloper.org/wp-content/uploads/2008/10/stackoverflow-logo-250.png.

  • 我说:史诗般的胜利! (2认同)