不显式设置结构的每个成员的值是否是一种不好的做法,例如在 CHARFORMAT 结构中,您可以在一行中声明将其全部初始化,如下所示:
CHARFORMAT foo = {sizeof(CHARFORMAT),CFM_FACE,0,0,0,0,0,0,"Arial"};
我特别喜欢这样做,因为这不仅减少了打字,而且我不必调用 _tcscpy 或类似的东西来复制到 szFaceName 的字符串值中。我不确定这是否更快,我不在乎它是否更快,而且我不打算移植或更改编译器、SDK 库或任何东西。
我只想知道,以这种方式进行初始化会产生影响吗?如果是这样,所涉及的风险是否完全不值得麻烦?我是否应该避免以这种方式一起初始化结构并明确地进行初始化?