1
私はC++に焦点を当てた非常に初心者のプログラミングコースです。現在、メンバ変数とローカル変数について教えています。そのために、この非常に簡単なプログラムを書いて、ローカル変数が宣言されていて初期化されておらず、にがあるメンバ変数と同じ名前が与えられたときの出力を確認しました。C++:初期化されていない変数出力はXcodeで0です
class myclass
{
public:
void getvalues();
myclass();
private:
int count;
};
myclass::myclass()
{
count = 100;
}
void myclass::getvalues()
{
int count;
std::cout << count << std::endl;
}
int main()
{
myclass foo;
foo.getvalues();
return 0;
}
非常に大きな乱数の一部が出力されることが予想されます。代わりに、出力は0
です。なぜこれが特別な理由ですか?私はこれが違いを生むなら、Xcodeを使っています。
この動作が定義されているとは思いません。あなたはg ++のような他のコンパイラを使ってみたことがありますか?同じ結果が得られたら見てみましょうか? –
なぜそれが0にならないのですか?それは何でも可能ですが、0は何でもあります。 – immibis