我是C++新手。最近,我一直堅持使用C++特性的簡單代碼。如果您能指出究竟是什麼問題,我將非常感激。代碼,如下所示:我遇到了C++數組初始化的麻煩
// used to test function of fill
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int val = 0;
int myarray[8];
//fill(myarray,myarray+2,1);
for(;val < 8;++val){
cout << myarray[val];
cout << endl;
}
}
而且它已打印出:
-887974872
32767
4196400
0
0
0
4196000
0
的問題是我想的默認值陣列不用初始化(在這種情況下,其大小爲8)。將(0,0,0,0,0,0,0,0)
。但那裏似乎有些奇怪的數字。誰能告訴我發生了什麼,爲什麼?
這應該總結爲什麼他們沒有歸零:http://chat.stackoverflow.com/transcript/message/10771489#10771489 – chris
局部變量不是默認初始化的 – assem
*我認爲沒有初始化的數組的默認值(在這種情況下,其大小爲8)將是(0,0,0,0,0,0,0,0)*。是什麼讓你假設? (我只是說,不要假設讓我們安全地玩遊戲,並堅持文檔所說的內容) –