复制构造函数和复制分配操作员
Copy constructor and copy assignment operator?
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
的复制分配操作员以任何形式,方式或表单。
相关文章:
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 使用strcpy将char数组的元素复制到另一个数组
- 是否可以初始化不可复制类型的成员变量(或基类)
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 复制列表初始化的隐式转换的等级是多少
- 复制操作员无法正常工作
- 为什么要调用复制操作员
- 初学者C 排序的链接列表使用=操作员进行深层复制
- 复制构造函数和复制分配操作员
- 复制构造函数和分配操作员对循环依赖类别的过载
- 复制动态阵列并使用过载的操作员删除原件
- 复制分配操作员定义
- C 复制分配操作员问题
- 我的操作员=和复制构造函数在我的班级中无法正常工作
- 不带操作员的对象的数组初始化,复制构造函数或默认构造函数和运行时参数
- 复制构造函数或作业操作员?我想念什么
- 在班级中使用动态分配的C风格字符串,并带有复制和分配操作员,给出了意外的结果
- 在链接列表中找出超载的流操作员并复制分配