どのようにC++の可変配列が実装されているのか
C++では、可変長配列を実現するための動的配列(Dynamic Array)が使用できます。動的配列は、実行時に必要に応じてサイズを動的に変更できる自己サイズ調整型の配列です。
C++標準ライブラリでは、動的配列としてstd::vectorクラスが提供されています。std::vectorクラスは、テンプレートクラスで、任意の型の要素を格納でき、配列を操作するためのさまざまなメンバ関数やメソッドが提供されています。
std::vectorを利用した可変配列の実装例は次の通りです。
#include <iostream>
#include <vector>
int main() {
std::vector<int> arr; // 创建一个空的动态数组
// 向数组中添加元素
arr.push_back(10);
arr.push_back(20);
arr.push_back(30);
// 获取数组的大小
int size = arr.size();
std::cout << "数组大小:" << size << std::endl;
// 遍历数组并输出元素
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
// 修改数组中的元素
arr[1] = 50;
// 遍历数组并输出修改后的元素
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
このコードでは、std::vector arrで空の可変長配列を作成します。次に、push_back()関数を使用して配列に要素を追加します。size()メンバー関数を使用して、配列のサイズを取得できます。[]演算子を使用して、配列内の要素にアクセスできます。最後に、配列内の要素を変更することで、可変長配列の変更を行うことができます。
このコードを実行すると、以下が出力されます。
数组大小:3
10 20 30
10 50 30
可変長の配列を実現するには、C++のstd::vectorクラスを使用する方法があります。