-2
平臺
OS - >的ubuntu 15.10 64 IDE - > Qt創建者 CXX - >鐺64Qt的C++類的變量初始化
未初始化的變量 「ABCDEFGH」,但乳寧「求時「價值總是零;爲什麼?
代碼
enter code here
#include <iostream>
#include <stdio.h>
using namespace std;
class A {
public:
A() {}
void show() {
int e;
int f;
int g;
int h;
printf("value show a = 0x%08X , b = 0x%08X , c = 0x%08X , d = 0x%08X\n", a, b, c, d);
printf("value show e = 0x%08X , f = 0x%08X , g = 0x%08X , h = 0x%08X\n", e, f, g, h);
printf("mapid show e = 0x%08X , f = 0x%08X , g = 0x%08X , h = 0x%08X\n", &e, &f, &g, &h);
}
private:
int a;
int b;
int c;
int d;
};
int main()
{
A aaa;
aaa.show();
int a;
printf("0x%08x\n", a);
while(1);
return 0;
}
爲什麼不呢? 「未初始化」並不意味着「不是零的東西」。並且使用未初始化變量的值是未定義的。 – molbdnilo
但在我的運行環境中,變量「b e g」是確定的並始終爲零;我跑了很多次。你可以試試 ! –
我想你期望看到一些可以識別爲「隨機垃圾」的東西,但「未初始化」也並不意味着「在隨後的執行中不一樣」,並且0也不比2384373更不確定.C++規定不是對使用未初始化變量的程序的要求。你的程序也可以爲任何事情打印0;變量仍然是未初始化的,它們的值仍然是不確定的,程序仍然是未定義的。 – molbdnilo