【发布时间】:2020-02-07 09:13:03
【问题描述】:
当我们有 const 引用时,为什么要创建 temp 对象? 以及为什么我们在复制构造函数中有 const ref?
String::String(const String& old_str)
{
size = old_str.size;
s = new char[size+1];
strcpy(s, old_str.s);
}
【问题讨论】:
-
一个问题一个问题。
-
如果复制构造函数按值获取其参数,则需要复制该值,这会调用复制构造函数,该构造函数按值获取其参数,这意味着它需要被复制...
-
我认为我们需要更多地了解您的 String 类是如何定义的。
-
“为什么当我们有 const 引用时会创建 temp 对象?” 不是这样,但是临时可以绑定到 const 引用。
-
您认为在您的代码中的哪个位置创建了临时对象?