一个静态全局变量初始化引发的讨论
背景
最近在提交的一个补丁,引发了一个静态全局变量初始化的讨论, 主要还是理论基础不够扎实,特此记录
具体的情况是这样的:
在一个补丁中,我定义了一个静态的全局变量,来存储启动参数传过来的值。
开始补丁中的这部分是这样的:
static bool alc269_restore_verbs = false;
但使用补丁检查工具检查时,报如下的错误:
./scripts/checkpatch.pl 0001-xxx.patch
ERROR: do not initialise statics to false
后面就在提交补丁的时候,把这个初值去掉了,然后在群里引起了一阵讨论。
通过网上查了查,和大家的讨论, 去掉初值主要是基于以下原因:
静态全局变量会默认初始化为0,如果初值为0就没必要进行初始化,是多此一举。
作者: Shell
链接: https://notes.z-dd.net/2022/05/21/%E4%B8%80%E4%B8%AA%E9%9D%99%E6%80%81%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F%E5%88%9D%E5%A7%8B%E5%8C%96%E5%BC%95%E5%8F%91%E7%9A%84%E8%AE%A8%E8%AE%BA/
来源: DD'Notes
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。