12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C++の「auto」について

Last updated at Posted at 2019-07-24

型推論 auto

C++11 から型推論のための auto キーワードが導入された。
autoを使うと具体的な型を書かずにコンパイラに型の決定を任せる事ができます。
autoを使うと具体的な型を書かずにコンパイラで変数の型を初期化子から推論することができます。

auto.cpp
int main(void){
    auto hoge = 2;  // 整数型
    printf("%d",hoge);

    auto hoge2 = "Hello!";  // 文字列型
    printf("%s",hoge2);

}

auto を使った方が良いのは

右辺の式から型がはっきりわかる
具体的な型があまり重要ではない
ラムダ式を受け取る

auto を使うべきでないのは

その場所でその型になっていることを保証する
親クラスの参照として受け取る
その変数を後でオーバーロードされた関数に渡す

auto の落とし穴

「値型」「ポインタ」「参照」の関係が入り乱れている時

12
8
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?