C ++ 11個の新機能のご注意

この記事では、今後の参考のために注意することは、C ++ 11個の新機能のいくつかの側面を文書化

 オート

「プレースホルダ」型の変数が右の種類に応じて自動的に導出されるように自動。なお

  1. 自動オーバーフローの問題を解決することはできません。
  2. 自動車は、ポインタや参照で使用されます。自動車、自動車、および参照することができ、ポインタ、または自動*と組み合わせて使用​​する場合と組み合わせて使用​​すると記述する必要があります
  3. 、揮発性の自動CVプロパティを必要なときに自動CV修飾子constの、揮発性のプロパティ「を取らない」、constの自動宣言
  4. オートは、複数の変数を宣言するとき、最初の変数は、被写体の種類を推定します
= 2 ^ INT符号なし32-1 ; 
unsigned int型= B. 1 ; 
自動C = A + B; //まだオーバーフロー、変換ではなく、自動的に、int型のC型またはunsigned意志

のint A = 0 ; 
INT *&PA = A  自動* PA1 =&; //等価自動PAL =&A;  オート&RA = A; 

自動のX = 1、Y = 2; //整数X、Yの
CONSTオート* M =&X、N- = 1; //自動占めビットINTを通じて翻訳することができる
自動I = 1、J = 3.14f ;自動// intで、精度のJ損失は、コンパイルに失敗

次のような場合は、自動の使用を避けます

  1.  関数のパラメータを実行します。
  2. 構造、非静的メンバ変数は自動的にはできません
  3. 文の自動配列
  4. 自動でテンプレートをインスタンス化するテンプレートパラメータ

二、decltype

型推論ルールdecltype(e)の

  1. eはアクセスに括弧で囲まれた式またはクラスメンバーのマーカー発現でない場合は、decltype(e)のeは名前付きエンティティのタイプです。また、Eは、オーバーロードされた関数であれば、コンパイル時エラー
  2. そうでなければ、Eの種類を想定すると、Tであり、eは値であれば死ぬ、次いでdecltype(e)はTであり&&
  3. そうでなければ、Eの種類を想定することはTであり、eはT&ための左値、decltype(E)である場合
  4. そうでなければ、Eの種類を想定すると、次いで、decltype(e)のT T、あります

 

おすすめ

転載: www.cnblogs.com/pusidun/p/11223392.html