gpt4 book ai didi

c++ - 删除复制构造函数或复制赋值运算符是否算作 "user declared"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:35 25 4
gpt4 key购买 nike

根据 this presentation ,如果复制构造函数或复制赋值运算符是“用户声明的”,则不会生成隐式 move 操作。 删除复制构造函数或复制赋值运算符是否算作“用户声明”?

struct NoCopy {
NoCopy(NoCopy&) = delete;
NoCopy& operator=(const NoCopy&) = delete;
};

是否会为 NoCopy 类生成隐式 move 操作?还是删除相关复制操作算作“用户声明”,从而抑制隐式 move 生成?

如果可能的话,我更喜欢引用标准相关部分的答案。

最佳答案

根据您演示文稿的幻灯片 14,已删除的复制构造函数是“用户声明的”,因此禁止 move 生成。

关于c++ - 删除复制构造函数或复制赋值运算符是否算作 "user declared"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28963577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com