C ++:文字列、ベクターおよび配列要素の概要

名前空間宣言を使用して

  • 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)。
  • あなたは、添字としての要素を追加することはできません

イテレータ

  • ポインタ、間接的なアクセスを提供することを目的と同様に
  • ポインタとは異なり、代わりにアドレス識別子を取得反復子を使用する、反復子は、イテレータ型はまた、部材を有するが返さbeginend
  • 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 =「テスト」;
发布了40 篇原创文章 · 获赞 12 · 访问量 5677

おすすめ

転載: blog.csdn.net/weixin_43488958/article/details/104728542