gpt4 book ai didi

c++ - 类的函数声明后的 "default"是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 11:27:45 24 4
gpt4 key购买 nike

我见过 default 在类中的函数声明旁边使用。它有什么作用?

class C {
C(const C&) = default;
C(C&&) = default;
C& operator=(const C&) & = default;
C& operator=(C&&) & = default;
virtual ~C() { }
};

最佳答案

这是一个 new C++11 feature .

这意味着你想使用那个函数的编译器生成的版本,所以你不需要指定一个body。

您也可以使用 = delete 来指定您希望编译器自动生成该函数。

随着移动构造函数和移动赋值运算符的引入,何时生成构造函数、析构函数和赋值运算符的自动版本的规则变得相当复杂。使用 = default= delete 让事情变得更容易,因为您不需要记住规则:您只需说出您想要发生的事情。

关于c++ - 类的函数声明后的 "default"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6502828/

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