Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 C++ 新手,我想知道为什么我们需要在 C++ 类的复制构造函数中放入 & .但是为什么我不允许复制对象(忽略内存使用点)?
如果您不指定按引用调用,则按值调用:编译器将生成对复制构造函数的调用以传递参数。如果复制构造函数按值获取其参数,则最终会出现无限递归。
如果我们这样做,ClassA a = b(已经构造了 ClassA),并且 Copy Constructor 的实现为,
ClassA::ClassA(ClassA a) { // 复制你的代码 }
然后,对于这个调用,对于每个 ClassA a = b,复制构造函数将被无限次调用。