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