gpt4 book ai didi

c++ - 在 C++11 中默认函数有什么意义?

转载 作者:IT老高 更新时间:2023-10-28 21:54:18 26 4
gpt4 key购买 nike

C++11 增加了告诉编译器 create a default implementation 的能力special member functions 中的任何一个.虽然我可以看到删除函数的值(value),但显式默认函数的值(value)在哪里?只需将其留空,编译器就会这样做。

我能看到的唯一一点是,只有在不存在其他构造函数时才会创建默认构造函数:

class eg {
public:
eg(int i);
eg() = default;
};

但这真的比你现在做的更好吗?

class eg {
public:
eg(int i);
eg() {}
};

或者我错过了一个用例?

最佳答案

默认的构造函数将有一个声明,该声明将受制于正常的访问规则。例如。您可以保护默认的复制构造函数。如果没有这些新声明,默认生成的成员是公共(public)的。

关于c++ - 在 C++11 中默认函数有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/823935/

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