【发布时间】:2019-12-06 13:57:45
【问题描述】:
我从C++之旅中读到了这篇文章,
"与普通函数不同,保证使用构造函数 初始化其类的对象。因此,定义构造函数消除了类未初始化变量的问题。”
这个初始化是如何工作的?例如,假设我有一个类,其字段“s”的类型为string
class C{
std::string s;
...
}
“s”是如何初始化的,无论编译器如何保证它的值都是空字符串?
【问题讨论】:
-
你在用什么书?这应该包含在good C++ book
-
@Bob__ 您应该将显示名称更改为 __Bob,这会使您的行为未定义;-)
-
@DanielsaysreinstateMonica 好吧,这就是我试图避免的,但恐怕失败了 ;)
-
@2785528 提供的默认 ctor 什么都不做 — 它什么也不做。编译器提供的默认构造函数默认构造所有子对象,包括
s。
标签: c++ constructor