构造函数中的这个怪异的结肠成员(“:”)语法是什么?
最近,我看到了以下示例: #include class Foo { public: int bar; Foo(int num): bar(num) {}; }; int main(void) { std::cout << Foo(42).bar << st…
是成员初始化列表,被视为构造函数主体的一部分,或者它被视为声明器的一部分
我正在学习C ++中的成员初始化列表。因此,请考虑以下示例: struct Person { public: Person(int pAge): age(pAge) // ^^^^^^^^^ is this member ini…
在 C++ 中将对成员的引用初始化为 NULL
是否可以在 C++ 中将引用成员初始化为 NULL? 我正在尝试这样的事情: class BigClass { private: Object m_inner; public: const Object& ReadOnly; …
Boost Asio 示例 - 奇怪的 C++句法
我刚刚查看了 boost asio 框架和示例。在 Daytime.3 - 异步的源代码中TCP 日间服务器,代码为 tcp_server 类定义了一个构造函数,如下所示: tcp_serv…
初始化列表中的依赖关系
这种行为定义明确吗? class Foo { int A, B; public: Foo(int Bar): B(Bar), A(B + 123) { } }; int main() { Foo MyFoo(0); return 0; } …
与其他类成员一样的依赖类
我有一个类 B,需要构造类 A 的实例: class B { B(A* a); // there is no default constructor }; 现在我想创建一个包含 B 作为成员的类,所以我还需…
可以调用成员初始值设定项列表中的函数吗?
我的直觉是不是。我处于以下情况: class PluginLoader { public: Builder* const p_Builder; Logger* const p_Logger; //Others }; PluginLoader::Pl…
如何初始化成员初始值设定项列表中的数组成员
class C { public: C() : arr({1,2,3}) //doesn't compile {} /* C() : arr{1,2,3} //doesn't compile either {} */ private: int arr[3]; }; 我相信…
Ctor Initializer:自初始化导致崩溃?
我很难调试生产中的崩溃。只是想与这里的人们确认语义。我们有一个像这样的类... class Test { public: Test() { // members initialized ... m_str =…
初始化列表使变量未初始化?
我有一个只有这样的构造函数的类: IntroScreen::IntroScreen(Game *game) : View(game), counter(0.0f), message(-1), continueAlpha(255), continue…
const 字段的复杂初始化
考虑这样一个类: class MyReferenceClass { public: MyReferenceClass(); const double ImportantConstant1; const double ImportantConstant2; cons…
默认初始化整型成员是否首选空初始值设定项?
我刚刚读了 GMan 的评论, class A { public: A() : m_ptr() // m_ptr is implicitly initialized to NULL { } }; 应该优先于 class A { public: A() …