在 C++ 中,如果声明了一个指针变量但没有显式初始化,该指针会自动被初始化为 nullptr 。
A:正确
B:错误
正确答案:错误
答案解析
在C++中,指针变量的初始化行为取决于其存储 duration 和声明位置。具有静态存储 duration 的指针(如全局或静态局部指针)若未显式初始化,则被自动初始化为 nullptr。具有自动存储 duration 的指针(如普通局部指针)若未显式初始化,其值未定义,不保证为 nullptr。具有动态分配的指针不受此规则影响,其指向的内存地址由分配结果决定。该机制由C++语言标准中的零初始化、默认初始化和值初始化规则共同决定,具体行为由对象的类型、生命周期和声明上下文确定。
试卷来源:202603 CCF-GESP编程能力等级认证C++四级真题