安全性问题包括初始化和清除两个方面。在C语言中,如果程序员忘记了初始化或清楚一个变量,就会出现一大段程序错误。这在一个C库尤其如此,特别是当客户程序员不知道如何初始化一个struct,或甚至不知道他们必须要初始化一个struct时。(库中通常不包含初始化函数,所以客户程序员不得不自己手动初始化struct)清除是一个特殊的问题,因为C程序员一旦用过一个变量后就会把它忘记,所以对于一个库的struct来说必要的清除工作往往会被遗忘。
6.1用构造函数确保初始化
安全性问题包括初始化和清除两个方面。在C语言中,如果程序员忘记了初始化或清楚一个变量,就会出现一大段程序错误。这在一个C库尤其如此,特别是当客户程序员不知道如何初始化一个struct,或甚至不知道他们必须要初始化一个struct时。(库中通常不包含初始化函数,所以客户程序员不得不自己手动初始化struct)清除是一个特殊的问题,因为C程序员一旦用过一个变量后就会把它忘记,所以对于一个库的struct来说必要的清除工作往往会被遗忘。