C ++ 11の特性を記述する一般的なタイプ修飾子--auto

1、C ++ 11には、共通の機能について説明します

  最終的には新しいキーワードや構文、STLコンテナ、マルチスレッド、メモリ管理、スマートポインタ、とstd ::バインドとstd ::機能について話:Benpianから、大きく分けC ++ 11のよく使う機能を導入し始めました

 

 第二に、新しいキーワードおよび構文

1)オート・タイプ修飾子が自動的に明示的に指定するのではなく、変数の初期化コードのコンテンツタイプに基づいて決定することができます。

  車= 1;

  自動B = 'A';

  図1は、そうINTのタイプこと、INTの種類によるもので、同じタイプ「A」は、Bはchar型であるように、チャーからです。

  あなただけの自動変数の宣言で使用される場合、それは主に自動車トラバースで使用される、意味がありません。以下のような:

  A)トラバーサル文字列

  std ::文字列str =「ハローワールド」。

  (:STR自動CH)について

  {

    std :: coutの<< CH <<はstd ::てendl;

  }

  b)のアレイを介して

  int配列[] = {1,2,3,4,5,6,7,8,9}。

  (:配列Iオート)について

  {

    std :: coutの<< I <<はstd ::てendl;

  }

  C)ベクター容器を横切ります

  std ::ベクトル<整数> VECT = {1,2,3,4,5,6,7,8,9}。

  (:VECT Iオート)について

  {

    std :: coutの<< I <<はstd ::てendl;

  }

  d)のコンテナマップを横断

  std ::マップ<整数、整数>マップ= {{1,1}、{2,2}、{3,3}}。

  用(オートITER:マップ)

  {

    std :: coutの<< iter.first << iter.second <<はstd ::てendl;

  }

  トラバースへの自動使用は、もはやそう長く循環のための記述する必要はない、偉大な利便性を提供します。

  テンプレート関数のパラメータテンプレート依存変数の型のe)の定義

  template <typename _T1,typename _T2>

  void Addition(_T1 t1,_T2 t2)

  {

    auto v = t1 + t2;

    std::cout << v << std::endl;

  }

  f)定义函数返回值依赖模板参数的变量类型的模板函数

  template <typename _T1,typename _T2>

  auto Addition(_T1 t1,_T2 t2)->decltype(t1 * t2)

  {

    return t1 * t2;

  }

おすすめ

転載: www.cnblogs.com/zhangnianyong/p/11851042.html