复制构造函数和复制分配操作员

Copy constructor and copy assignment operator?

本文关键字:复制 操作员 分配 构造函数      更新时间:2023-10-16
string func()
{
string s;
//do something with s
return s;
}
string mystr=func();

(这不是C 11)在上面的示例中,我了解string的复制构造函数将在返回时调用,但是,在此示例中,当mystr获取其值时,string的复制分配运算符也会被调用吗?

string mystr=func();

不调用复制分配运算符。它使用复制构造函数初始化mystr

要调用复制分配运算符,初始化和分配需要是两个单独的语句。

string mystr;
mystr = func();

no。到目前为止,您发布的代码不涉及string的复制分配操作员以任何形式,方式或表单。