问题标签 [aggregate-initialization]
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.
c++ - 请求从“int”转换为非标量类型 conts“Vec2”
我是 C++ 的初学者,我正在尝试做一条蛇,但我有一个问题。
错误行:
这是一个代码:
那么我该如何解决这个问题呢?
c++ - 私有聚合初始化
是否可以定义为聚合类private
的聚合初始化?我希望该类只能由其自己的静态私有成员聚合初始化。
例子:
c++ - 使用聚合初始化和成员初始化器初始化结构
考虑以下示例:
在为 id clang 3.x 和 gcc 4.8.x 定义没有默认值的结构 ABC 时,编译代码没有问题。但是,在为“id”添加默认参数后,我得到了流动的错误消息:
从技术角度来看,当我使用默认参数定义 id 时会发生什么,为什么在这种情况下无法进行聚合初始化?我是否隐含地定义了某种构造函数?
c++ - std::array 聚合初始化和模板整数类型
从 的文档中std::array
,我们发现它可以如下初始化(使用聚合初始化):
无论如何,在这种情况下会出现一个问题:
如何在构造时初始化数组s
(例如,值 from 0
toN-1
或使用constexpr
ed 函数向其传递索引)?
c++ - 具有构造函数但没有聚合初始化的 POD 类型
我对 C++ 中的 POD 类型感到困惑我有这些struct HSV
,struct RGB
这是构建颜色的值的累积:
我可以struct RGB
使用类似 C 的聚合初始化来初始化 a,如下所示:
但是,当我取消注释附加构造函数以struct RGB
使用 astruct HSV
和default
ed 默认构造函数构建 a 时,聚合初始化不再起作用
它仍然会告诉我我手上有一个 POD:
我可以在拥有像我这样的转换构造函数的同时使用 C 风格的聚合初始化,还是那不可能?
编辑:我刚刚被告知这是一个clang
扩展(并且似乎也可以使用 VS 编译器)。但我仍然想知道这是否可能,clang
至少。
c++ - std::array 类型初始化
使用 astd::array
你可以像这样初始化它:
如果我在哪里尝试创建自己的数组类,我将如何做类似的事情?
c++ - 结构聚合初始化与默认构造函数
给定结构的以下初始化:
这将始终进行聚合初始化,还是会Struct()
调用构造函数,如果它是显式定义的?
c++ - 具有聚合初始化的 C++11 构造函数委托
是否可以在我自己定义的默认 ctor 中调用聚合初始化?
GCC 使用以下代码抱怨“错误:构造函数委托给自身”:
我memset(this, 0, sizeof(*this))
目前正在 ctor 体内使用。
c++ - 什么时候私有构造函数不是私有构造函数?
假设我有一个类型,我想将其默认构造函数设为私有。我写了以下内容:
伟大的。
但是后来,构造函数并没有我想象的那么私密:
这让我觉得非常令人惊讶、出乎意料和明显不受欢迎的行为。为什么这样可以?
c++ - 聚合的类型特征
根据工作草案的8.5.1/1 ,聚合是没有用户提供的构造函数、没有私有或受保护的非静态数据成员、没有基类和虚函数的数组或类。
有没有办法或特征来检测类型中的这种特征?
例如,is_polymorphic
对于一个类等等。如果是聚合,则为 true
的类型之类的东西,否则。is_aggregate<T>::value
T
false
我想它可以用is_array
and来定义……还有什么?不幸的是,不确定。
至少存在一种方法来定义像这样的类型?