问题标签 [ctor-initializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
190132 浏览

c++ - 在构造函数初始化器中初始化成员数组

我相信原因是数组只能用=语法初始化,即:

问题

  1. 我该如何做我想做的事情(即在构造函数中初始化一个数组(而不是在主体中分配元素))。甚至可能吗?
  2. C++03 标准对在 ctor 初始化程序中初始化聚合(包括数组)有什么特别的说明吗?或者上述代码的无效是其他一些规则的必然结果?
  3. C++0x 初始化列表能解决问题吗?

PS请不要提及向量,boost::arrays,以及它们对数组的优越性,我很清楚。

0 投票
3 回答
166 浏览

c++ - 这是什么语法?

可能重复:
C++ 构造函数名称后面的冒号有什么作用?

我发现这种语法在 C++ 中很奇怪

这是C++中构造函数的声明...冒号后面的东西代表什么,即ui(new Ui::TagDetails)在这里是什么意思?冒号是干什么用的?

0 投票
3 回答
1115 浏览

c++ - 请解释我的结构定义中的冒号?

可能重复:
C++ 构造函数名称后面的冒号有什么作用?

我正在阅读一本关于 CUDA 的书,并且在阅读此 C++ 语法时遇到了麻烦。我不确定要搜索什么,所以这就是我在这里发帖的原因。

声明的作用是什么cuComplex?具体来说:

这叫什么,所以我可以了解它?

0 投票
6 回答
1277 浏览

c++ - 依赖类作为其他类成员

我有一个类需要构造一个类B的实例:A

现在我想创建一个包含B作为成员的类,所以我还需要添加A为成员并将其提供给B的构造函数:

但问题是,如果有人偶尔改变类中变量定义的顺序,就会破坏

A有没有不修改类和解决这个问题的好方法B?谢谢。

0 投票
3 回答
2357 浏览

c++ - 初始化列表中的依赖关系

这种行为是否明确?

0 投票
1 回答
445 浏览

c++ - Boost Asio 示例 - 奇怪的 C++ 语法

我刚刚查看了 boost asio 框架和示例。在Daytime.3 - 异步 TCP 日间服务器的源代码中,代码为 tcp_server 类定义了一个构造函数,如下所示:

我对构造函数如何初始化稍后在私有部分中定义的acceptor_实例变量感到困惑?我想在构造函数的主体中为这个初始化编写等效的代码(只是为了学习),但我不知道这个 ivar 是如何被初始化的。

非常感谢您的帮助。

0 投票
3 回答
20154 浏览

c++ - C++:我应该将分配给构造函数主体的指针成员初始化为NULL吗?

假设我有:

我应该在 MyClass 构造函数的构造函数初始化列表中将 something_ 初始化为 NULL(或 0)吗?或者这不是必需的,因为我在构造函数的主体中分配给它?推荐的做法是什么?

0 投票
1 回答
40109 浏览

c++ - 使用委托构造函数时的成员初始化

我已经开始尝试 C++11 标准,我发现这个问题描述了如何从同一个类中的另一个 ctor 调用你的 ctor 以避免使用 init 方法等。现在我正在尝试使用如下代码做同样的事情:

惠普:

cp:

但这给了我错误: In constructor ‘config::Tokenizer::Tokenizer(std::stringstream*)’: /path/Tokenizer.cpp:14:20: error: mem-initializer for ‘config::Tokenizer::lines’ follows constructor delegation我尝试将 Tokenizer() 部分移到列表中的第一个和最后一个,但这没有帮助。

这背后的原因是什么,我应该如何解决它?我已经尝试将它lines(lines)移到身体上,this->lines = lines;并且效果很好。但我真的很想能够使用初始化列表。

0 投票
6 回答
96 浏览

c++ - 在 C++ ctor-initializer 中选择性地包含成员的干净方式

如果我有:

对于一些任意数量的编译条件,是否有一种干净的方法可以做到这一点(尤其是对于可能的多个编译条件),而不会将一些永久成员放在最后?

由于尾随逗号,上述内容在大多数情况下都无法编译。

编辑以澄清:

可能应该明确指出,someValue它旨在成为一个潜在独立的任意值,在每种使用的情况下,它可能取决于也可能不取决于构造函数参数。

0 投票
1 回答
436 浏览

c# - 在使用对象初始化器初始化对象时添加 DataCollection 属性

在使用 Object Initializer 初始化对象时添加属性。但是我们如何添加 DataCollection 属性呢?

例子:

那么如果我们想为“Subjects”添加属性,我们如何在上述条件下添加呢?

一般我们可以像下面这样。