C++入門/初期値の指定

本質的ではないが,変数の初期化方法の簡略記法を紹介する.今まで変数を定義してから,代入演算子「=」による初期化を指定していたが,これを一文で行う書き方が存在する.具体的には,次に示す2つの初期化は同義である.

#include <iostream>

int main(){
    int i;
    i = 1;
    int a = 2;
    std::cout << i << char(10);
    std::cout << a << char(10);
    return 0;
}

以下のように,式を評価した結果で初期化することも可能である.

#include <iostream>

int main(){
    int i;
    i = 1;
    int a = 2 + 3 + i;
    std::cout << i << char(10);
    std::cout << a << char(10);
    return 0;
}
ファイルをc.cppとして保存してコンパイルと実行を行った結果を以下に示す.意図した結果となっていることがわかる. hiroki@hiroki-home:~/git/cpp$ g++ c.cpp hiroki@hiroki-home:~/git/cpp$ ./a.out 1 6

変数の初期化忘れは,プログラムが意図しない動作をする原因となるため,必ず初期化するよう気をつけなければならない.後に紹介するC++のクラスという仕組みを使えば,初期化を強制することが可能となる.なれるまでは,それほど複雑なコードを書くことも無いだろうから,初期化を目視で確認して気をつけてもらいたい.