1

是否有一个标志可以传递给 gcc 或 g++,使其在编译期间自动初始化任何指针,例如在开始生成代码之前将指针设置为 NULL。

4

1 回答 1

0

不,那里没有。像许多其他编译器一样,为了获得最大速度,他们假设您知道自己在做什么 :-)

如果您希望将指针初始化为 null,则应明确执行此操作,例如:

myType *myVar = nullptr; // or NULL for C

当然,C++ 提供了多种智能指针,可以为您做到这一点:

std::unique_ptr<myType> myVar; // will be null

这只是确保它在指针本身的构造函数中为空。

实际上,您应该将C++ 中的任何原始指针代码视为潜在缺陷,几乎没有理由在现代语言中使用它们。

于 2019-04-04T13:40:00.350 回答