gpt4 book ai didi

c++ - 未初始化的变量有什么危险?

转载 作者:行者123 更新时间:2023-12-01 13:21:38 37 4
gpt4 key购买 nike

在我正在编写的程序中,我的 .h 文件中目前有几个未初始化的变量,所有这些变量都在运行时初始化。但是,在 Visual Studio 中,每次我执行此操作时它都会警告我“始终初始化成员变量”,尽管这样做似乎毫无意义。我很清楚在未初始化时尝试使用变量会导致未定义的行为,但据我所知,不这样做可以避免这种情况。我是否忽略了什么?

谢谢。

最佳答案

如果您不初始化它们并在 uninitialized 中读取它们,这些变量可以包含任何值。声明是未定义的行为。 (除非它们是 zero initalized )

如果您忘记初始化其中之一,并且意外读取它会导致您期望它在当前系统配置中具有的值(由于未定义的行为),那么您的程序在系统更新后可能会出现不可预测/意外的行为,在不同的系统上或当您更改代码时。

这些类型的错误很难调试。因此,即使您在运行时设置它们,也建议将它们初始化为已知值,以便您拥有一个具有可预测行为的受控环境。

有一些异常(exception),例如如果在声明变量后立即设置变量,并且不能直接设置它,就像使用流操作符设置它的值一样。

关于c++ - 未初始化的变量有什么危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60341737/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com