C++の配列、vector、arrayの比較

2210 ワード

一、配列ここでは詳しく言わない.配列は変数を使用して配列の長さを規定することはできません.
二、テンプレートクラスvector彼はstringクラスに似ており、動的配列でもある.実行時に配列の長さを自分で設定したり、要素を追加したりして、要素を挿入することができます.vectorはnewとdeleteを使用してメモリを操作しますが、自動的に完了します.
#include 
...
using namespace std;
int main()
{
    int n;
    cin>>n;//          
    vector<double> v(n);//   n    double    
    v[0]=32.2;
    return 0;
}
使用シヨウ:vectorv(length);
三、テンプレート類array arrayの配列は固定長である.ダイナミックではありません.フリーストレージ領域ではなくスタック(静的メモリ割り当て)で格納されるため、効率は通常の配列と同じですが、より安全で便利です.
#include
...
using namespace std;
int main()
{
    array<int ,10 > x;//   10 int    
    array<int ,3 > y={2,4,1};
    array<int ,3 > z;
    z=y;//  array   ,       ,         
    return 0;
}
四、三者の違いarrayでもvectorでも標準配列のアクセス方式でデータにアクセスできます.しかし、これにより配列が境界を越える可能性があります.vector,arrayはat法を用いてこのようなエラーの発生を回避することができ,標準配列よりも多くの便利な様々な操作を行う方法もある.