的向量(具有向量的结构)
Vector of (Structs having vector)
Bjarne Stroustgroup的C++中所述的以下代码:编程与原理
struct Day {
vector <double> hour { vector <double> (24,-7777)}
};
struct Month {
vector <Day> day {32};
};
这段代码初始化32天,每天作为用-7777
初始化的24小时的vector
;
问题是为什么列表初始化器{32}
会创建32天不是应该用32作为初始值来初始化第vector
天,而不是创建32个成员吗
对于列表初始化,
否则,
T
的构造函数将分两个阶段考虑:所有以CCD_ 6为唯一自变量的构造函数,或者作为第一个参数(如果其余参数具有默认值(值进行检查,并根据
std::initializer_list
类型的单参数如果前一阶段没有产生匹配,则
T
的所有构造函数参与针对以下参数集的过载解决由支撑的init列表的元素组成,具有限制只允许非窄化转换。如果这个阶段生成一个显式构造函数作为复制列表初始化,编译失败(注意,简单复制初始化,完全不考虑显式构造函数(。
day
的类型为vector <Day>
,其构造函数以std::initializer_list
为参数,需要一个std::initializer_list<Day>
,而CCD_12不能从支撑初始化器{32}
构造。然后使用采用size_type
的构造函数,并使用32个默认插入的Day
实例来构造vector
。
另一方面,如果Day
可以从int
初始化,例如具有采用int
的构造函数,则由于从int
到Day
的隐式转换,std::initializer_list<Day>
可以从CCD21构造,则vector <Day> day {32};
将使用从32
初始化的一个元素来构造vector
。
实时
单参数初始值设定项列表与采用一个参数的向量构造函数相匹配,该构造函数分配了那么多元素。在这种情况下为32。
- 将结构向量排序为子组
- 访问存储在向量C++中的结构的多态成员
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 如何在 c++ 中创建结构向量的映射
- 带unique_ptr的结构向量
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 将 int 映射到 C++ 中的向量结构
- 如何在 c++ 中的向量结构中使用结构向量
- 无法将值存储到向量结构中
- 无法将.CSV文件读取为代表向量结构的类
- MPI,C,派生类型,向量结构
- 向量结构的打印成员
- 在 c++ 中对向量<结构 S> 进行二分搜索?
- 不需要删除向量<结构A*>
- 在C++中循环向量结构<string>
- 将字符串放入字符串的向量结构中
- 共享内存中的向量结构
- 我的向量结构没有像预期的那样迭代