97得票3回答
一个私有构造函数什么时候不是私有构造函数?

假设我有一个类型,并且希望将其默认构造函数设置为私有。我可以编写以下内容:class C { C() = default; }; int main() { C c; // error: C::C() is private within this conte...

82得票8回答
我们是否应该在类中始终包含默认构造函数?

我被同事问及一个问题:我们是否应该在一个类中始终包含默认构造函数? 如果是,为什么?如果不是,为什么不需要呢?public class Foo { Foo() { } Foo(int x, int y) { ... } } 我也希望从专家那里了解...

72得票7回答
C++对象为什么有默认析构函数?

当我没有声明构造函数时,编译器会为我提供一个默认构造函数,该构造函数不带参数和定义(空函数体),因此它将不执行任何操作。 所以,如果我完成了一个对象的使用,那么默认析构函数难道不会重新分配(释放)该对象所使用的内存吗?如果它不会,那我们为什么要得到它呢? 或许同样的问题也适用于默认构造函数。如...

71得票3回答
为什么没有默认构造函数就无法编译?

我能做到这件事:#include <iostream> int counter; int main() { struct Boo { Boo(int num) { ++counter; ...

59得票4回答
删除默认类构造函数有什么意义?

我正在为我的CPP考试做准备,其中一个问题是:你可以删除默认类构造函数吗?如果可以,那么这样做的原因是什么?显然,你可以这样做:class MyClass { public: MyClass() = delete; }; 但我不明白为什么你要这样做?

58得票2回答
创建 Fragment:构造函数 vs newInstance()

最近,我厌倦了在创建Fragments时不断需要知道String键来传递参数到Bundles。因此,我决定为我的Fragments创建构造函数,以设置我想要的参数,并将这些变量放入带有正确String键的Bundles中,从而消除其他Fragments和Activities需要知道这些键的需要...

58得票3回答
Gson是否需要默认的无参构造函数?

Gson用户指南指出,我们应该为任何类定义默认的无参构造函数,以使其与Gson正常工作。此外,在Gson的InstanceCreator类的javadoc中指出,如果我们尝试反序列化缺少默认构造函数的类的实例,则会抛出异常,并且在这种情况下应该使用InstanceCreator。然而,我已经尝...

52得票11回答
Java中的默认构造函数和继承

我有一个关于Java中默认构造函数和继承的问题。 通常情况下,如果你写了一个类并没有包含任何构造函数,Java将自动为你提供一个默认构造函数(没有参数),它会使用一些默认值(0,null或false)初始化类的所有实例变量(如果有)。但是,如果你写了一个带有一些参数的构造函数,并且没有写任何...

51得票5回答
类没有默认构造函数。

#include "Includes.h" enum BlowfishAlgorithm { ECB, CBC, CFB64, OFB64, }; class Blowfish { public: s...

49得票2回答
默认构造函数中的“explicit”关键字的目的是什么?

我最近注意到C++0x中有一个要求显式默认构造函数的类。然而,我无法想出一个情景,在这种情况下默认构造函数可以隐式调用。这似乎是一个毫无意义的限定符。我以为它可能会禁止使用Class c;,而改用Class c = Class();,但事实并非如此。 以下是C++11 FCD中的一些相关引用...