より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

C++では変数は初期化しないと、どうなるかわからない

C#Pythonなどの最近の言語では

int a;

と変数を定義して、出力させれば「0」が返ってきます。

が、C++では、保証されてません。

#include <iostream>

int main() {
    // 初期化しない
    int a;
    std::cout << a << std::endl;
    return 0;
}

43650794という桁外れな値が返却されました。

f:id:rimever:20190818214134p:plain

f:id:rimever:20190818214221p:plain
2回目。357015606!?

よって、変数の初期化は必須です。

特にクラスメンバは初期化しておかないと、いつか痛い目にあいます。