d初化大结构
原文
如果理解正确,如下:
struct S
{
char[16384] array;
}
然后用它,必然会导致创建和链接
一个S.init
,从而导致二进制大小膨胀16kb
.是这样吗?
是的.但,全零
就不是这样
了.至少对TypeInfo.initializer
,它指向用指示要写入的零个数
的数组大小的null
.
顺便,可指定零默认值
来覆盖它:
struct S
{
char[16384] array = 0; // 无初化存储.
}