Ch2. C++のツアー

2.2 The Basics

c++の特有の初期化

double d {4.2};

auto

=を使った方が方変換の問題が生じにくい。

autoを使うべきでない場所

  • 大きなスコープ内でソースを明確にし、型をわかりやすくしたい場合。
  • 変数の精度や範囲を明確にしたい場合。

Constant

  • const: 変数を定数として扱う。
  • constexpr: コンパイル時に評価し、評価結果を定数化する。

constexprの引数はconstantでなくてよい。しかし、結果がconstantではない。

Tests and Loops

シンプルなforの書き方。

for(auto x: {10, 21, 32})
    cout << x << '\n';
for(auto &x: {10, 21, 32}){
    cout << x << '\n';
    ++x;
}

&は”reference to”を意味しており、ポインターと似た使い方ができる。しかし、ポインターのように*でアクセスする必要がない。以下のように、&を書き換えることは出来ない。

auto &x =b[0];
std::cout << x << '\n';
&x = b[1];
std::cout << x << '\n';

User-Defined Types