C ++ 11のautoキーワード

使用法:

変数の1つのタイプは、自動的に初期化式に従って変数宣言で推測します。そのようなテンプレートの種類として、長くて複雑なのタイプに適用

第二に、戻り値のプレースホルダ関数宣言の関数として

 

注意事項:

1. autoキーワード変数は初期値を持たなければなりません。同様の参照

2.関数のパラメータとテンプレートパラメータは、オートとして宣言することはできません。

3.変数の型を宣言するためにautoキーワードは、自動的にステートメントを示していない限り、CV-修飾子と参照型の上部を導出しません。

autoキーワードの型推論を使用する場合は、初期化式が参照型である場合、コンパイラは、ステートメントショーない限り、参照を削除します

自動型推論を使用してautoキーワードを使用すると、コンパイラが自動的にステートメントを示していない限り、トップレベルのconstを無視します

 

使用シナリオの
EX1:トラバーサル文字列
std ::文字列str =「こんにちは、世界」;  
{(STR自動CH)用  
     std :: coutの<< CH <<はstd ::てendl;  
}  
トラバーサルSTR、各文字の出力、および支出の自動車は、単により強力です。

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;  
}  

マップを返すペア変数ではなく、イテレータを横断します。

おすすめ

転載: www.cnblogs.com/spruce/p/12120892.html