1
我有以下數據結構數組初始化與結構
struct single_t
{
uint16_t i1 = 0;
uint8_t i2 = 0;
uint8_t i3 = 0;
};
struct mapping_t
{
uint8_t n1;
uint8_t n2;
bool enable;
uint n3;
std::array<single_t, 32> map;
};
我想初始化它們以下列方式:
mapping_t m1 {
3, // n1
254, // n2
true, // enable
5, // n3
// map
// i1 i2 i3
{{
{0x1000, 1, 8}
}}
};
我可以肯定,即在std::array<single_t, 32> map;
的元素,這種情況下索引1..31,被初始化爲0或者它就像堆棧上的未初始化變量int i;
?我的調試器顯示它們爲0,但是實現依賴於調試版本還是在標準中定義的?
'm1'中的元素1 - 31被初始化,即初始化爲零。你的代碼很好。 –