如果操作系统与此有关,我在Ubuntu 10.10(64位)上使用g ++.我看到一些奇怪的东西所以我决定检查并出于某种原因这段代码
#include <iostream>
int main()
{
int a;
std::cout << a << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
总是打印0.显然,g ++会将未初始化的变量自动初始化为相应的空值.问题是我想要关闭这个功能,或者至少让g ++显示关于使用未初始化变量的警告,因为这样我的代码在VS上编译时将无法正常工作.除此之外,我非常确定C++标准规定一个未用某个值隐式初始化的变量在所有可能的值中都有一个未定义的值,实际上每次执行程序时都应该是不同的,因为它的不同部分每次执行时都会使用操作内存.
明确的问题:有没有办法让g ++显示未初始化变量的警告?