使用法:
変数の1つのタイプは、自動的に初期化式に従って変数宣言で推測します。そのようなテンプレートの種類として、長くて複雑なのタイプに適用
第二に、戻り値のプレースホルダ関数宣言の関数として
注意事項:
1. autoキーワード変数は初期値を持たなければなりません。同様の参照
2.関数のパラメータとテンプレートパラメータは、オートとして宣言することはできません。
3.変数の型を宣言するためにautoキーワードは、自動的にステートメントを示していない限り、CV-修飾子と参照型の上部を導出しません。
autoキーワードの型推論を使用する場合は、初期化式が参照型である場合、コンパイラは、ステートメントショーない限り、参照を削除します
自動型推論を使用してautoキーワードを使用すると、コンパイラが自動的にステートメントを示していない限り、トップレベルのconstを無視します
使用シナリオの
EX1:トラバーサル文字列
EX1:トラバーサル文字列
std ::文字列str =「こんにちは、世界」;
{(STR自動CH)用
std :: coutの<< CH <<はstd ::てendl;
}
トラバーサルSTR、各文字の出力、および支出の自動車は、単により強力です。
EX2:反復
EX2:反復
int型ARR [] = {1、2、3、4}。
{(ARR自動I)のために
std :: coutの<< I <<はstd ::てendl;
}
EX3:STLコンテナトラバーサル
std ::ベクトル<スタンダード:: string>にstr_vec = {「I」、「Google」と「好き」}。
{(str_vec自動&IT)のために
それは、「C ++」=;
}
EX4:STLのmapを横断
std ::マップ<整数、のstd :: string>にhash_map = {{1、「C ++」}、{2、の「Java」}、{3、「パイソン」}};
{(hash_map自動IT)のために
std :: coutの<< it.first <<「\トン」<< it.second <<はstd ::てendl;
}
マップを返すペア変数ではなく、イテレータを横断します。