【发布时间】:2019-11-15 09:46:56
【问题描述】:
Bjarne Stroustroup 的 C++ 中所述的以下代码:编程和原理
struct Day {
vector <double> hour { vector <double> (24,-7777)}
};
struct Month {
vector <Day> day {32};
};
这段代码初始化32天,每一天都是vector的24小时,用-7777初始化;
问题是为什么列表初始化程序 {32} 创建 32 天。 不应该用 32 作为初始值来初始化 day vector,而不是创建 32 个成员吗?
【问题讨论】:
-
32如何成为(单数)Day对象的合适初始值? -
vector<Day> day{32}类似于vector<Day> day(32)。如果你看向量定义,它说参数是向量的元素计数 -
@BAdhi 确定吗?只有包含在 (n) 中的参数创建 n 个项目的向量...而 {n} 初始化一个可能的向量
标签: c++ c++11 vector struct initialization