根据c ++上的任何一本书,任何未初始化的c ++局部变量都将包含一个垃圾值.但是,请查看以下程序:
#include<iostream>
using namespace std;
float a;
class A
{
public:
float b;
};
int main()
{
float c;
static float d;
static float e = 0;
A f;
cout<<"\n global a : "<<a<<"\n class variable b : "<<f.b;
cout<<"\n local c : "<<c<<"\n static local d : "<<d
<<"\n static initialized local e : "<<e;
}
Run Code Online (Sandbox Code Playgroud)
如果在ubuntu linux上使用g ++编译,它会提供以下输出:
global a : 0
class variable b : 6.94896e-36
local c : 0
static local d : 0 …Run Code Online (Sandbox Code Playgroud) c++ ×1