247得票3回答
“=default”和“{}”在默认构造函数和析构函数中有何不同?

我最初将这个问题仅限于析构函数,但现在我要考虑默认构造函数。以下是原始问题: 如果我想给我的类一个虚拟的析构函数,但与编译器生成的相同,我可以使用=default:class Widget { public: virtual ~Widget() = default; }; 但是使...

228得票9回答
默认构造函数与空括号

空圆括号(小括号)表示调用C++中的默认构造函数,在这种情况下,是否存在任何合理的原因使其无效?MyObject object; // ok - default ctor MyObject object(blah); // ok MyObject object(); // erro...

206得票7回答
190得票13回答
Java默认构造函数

默认构造函数是什么——你能告诉我以下哪个是默认构造函数,以及它与其他构造函数的不同之处吗?public Module() { this.name = ""; this.credits = 0; this.hours = 0; } public Module(String n...

190得票14回答
Kotlin与JPA:默认构造函数地狱

根据JPA的要求,@Entity类应该有一个默认(无参)构造函数,用于在从数据库检索对象时实例化它们。 Kotlin中,属性可以很方便地在主构造函数中声明,如下面的示例:class Person(val name: String, val age: Int) { /* ... */ } 然而...

169得票11回答
为什么当你创建一个带参数的构造函数后,无参构造函数就消失了?

在C#、C++和Java中,当你创建一个带参数的构造函数时,默认的无参构造函数会被移除。我一直接受这个事实,但现在我开始想知道为什么。 这种行为的原因是什么?它只是一种“安全措施/猜测”,即“如果你已经创建了自己的构造函数,你可能不想让这个隐式的构造函数挂在那里”吗? 还是它有一个技术原因,...

153得票3回答
自动生成默认/复制/移动构造函数和复制/移动赋值运算符的条件是什么?

我希望能够重新了解编译器通常在哪些情况下会自动生成默认构造函数、复制构造函数和赋值运算符。 我记得有一些规则,但是我不记得了,而且在网上也找不到可靠的资源。有人可以帮助吗?

147得票5回答
std::array的默认初始化是什么?

使用C++11的std::array,我是否保证语法std::array<T, N> x;将默认初始化数组的所有元素? 编辑:如果不是,请问是否有一种语法适用于所有数组(包括零大小的数组),以将所有元素初始化为它们的默认值? 编辑:在cppreference上,默认构造函数描述...

138得票12回答
如何禁用Sonar的警告:隐藏实用类构造函数?

我在Sonar上看到这个警告: 隐藏实用类构造函数: 实用类不应该有公共或默认构造函数 我的类:public class FilePathHelper { private static String resourcesPath; public static String g...

105得票4回答
使用反射在C#中创建没有默认构造函数的类型实例

以以下课程为例: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } 我希望您能使用反射创建此类...