名前空間宣言を使用して
using namespace:name
using std: cin
文字列型:: size_type
- 符号なし整数型は、任意に格納することができる
string
オブジェクトのサイズ - 多くの場所のような後続のC ++、2回の反復子を引いた例えば距離、ああ
string s = "test"; auto len = s.size(); //此处的len并不是int类型,而是size_type类型
for文のスコープに基づいて、
- それは非常に効率的であると言われ
string str("some thing"); for(auto c:str){ cout<<c<<" "; }
ライブラリ型ベクター
- C ++は、関数テンプレートは、両方のクラステンプレートをしている
vector
クラステンプレートであります - 初期化
vector<int> v1(10); //10个元素,每个都是0 vector<int> v2{10}; //一个10 vector<int> v3(10, 1); //10个1 vector<int> v4{10, 1}; //10和1
psuh_back
ベクトルの要素に:v1.push_back(10)。- あなたは、添字としての要素を追加することはできません
イテレータ
- ポインタ、間接的なアクセスを提供することを目的と同様に
- ポインタとは異なり、代わりにアドレス識別子を取得反復子を使用する、反復子は、イテレータ型はまた、部材を有するが返さ
begin
とend
end
終了後テール要素の次の位置に反復子が存在するが、唯一のマーカーでありません- 一般的な反復の例
ここでは大きく異なる決意条件が使用されているfor(auto it = s.begin();it!=s.end();it++)
!=
代わりに<
、ライブラリのコンテナが定義されているので、これがある==
と!=
、ほとんどはそうではない<
、と添字 - 一部の操作は、ベクトルオブジェクトのためのイテレータは失敗します
が、コンテナのイテレータループを利用する人は、反復子が属する要素を追加する必要はありません
配列
- アレイの容量が固定され、ベクトルの容量を動的に成長することができます
- アレイの要素としてベクトルは、オブジェクトであるべきで、したがって全く配列参照は存在しません
- 割り当て(配列☞間の割り当てとコピー)をコピーすることは許されません
- 複雑な配列の宣言を理解します
int *ptrs[10]; //含有10个整型指针的数组 int &refs[10] = /ag/; //错误,不存在引用的数组 int (*Parray)[10] = &arr; //Parry指向一个含有10个整数的数组,由内而外的理解 int (&arrRef)[10] = arr; //arrRef引用一个含有10个整数的数组 int *(&arry)[10] = ptrs; //arry是数组的引用,该数组含有10个指针
CおよびC ++スタイルの文字列
- C:STRチャー[] = { 'T'、 'E'、 'S'、 'T'、'\ 0' }; //必須ターミネーター
'\0'
- C ++:文字列str =「テスト」;