C++の配列、vector、arrayの比較
2210 ワード
一、配列ここでは詳しく言わない.配列は変数を使用して配列の長さを規定することはできません.
二、テンプレートクラスvector彼はstringクラスに似ており、動的配列でもある.実行時に配列の長さを自分で設定したり、要素を追加したりして、要素を挿入することができます.vectorはnewとdeleteを使用してメモリを操作しますが、自動的に完了します.
三、テンプレート類array arrayの配列は固定長である.ダイナミックではありません.フリーストレージ領域ではなくスタック(静的メモリ割り当て)で格納されるため、効率は通常の配列と同じですが、より安全で便利です.
二、テンプレートクラス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法を用いてこのようなエラーの発生を回避することができ,標準配列よりも多くの便利な様々な操作を行う方法もある.