- 配列を返す方法: 関数内で動的配列を作成し、そのポインタを返す方法です。呼び出し元でメモリの解放を行う必要があります。
int* createArray(int size) {
int* arr = new int[size];
// 配列の初期化や操作を行う
return arr;
}
// 使用例
int main() {
int* result = createArray(5);
// 配列の使用
delete[] result; // メモリの解放
return 0;
}
- 配列を返す方法: 静的なローカル配列を返す方法です。ただし、この方法では配列のサイズが固定されているため、柔軟性に欠けます。
int* createArray() {
static int arr[] = {1, 2, 3, 4, 5};
return arr;
}
// 使用例
int main() {
int* result = createArray();
// 配列の使用
return 0;
}
- std::arrayを使用する方法: C++11以降では、std::arrayを使って配列を返すことができます。std::arrayはサイズが固定されており、標準ライブラリで提供されています。
#include <array>
std::array<int, 5> createArray() {
std::array<int, 5> arr = {1, 2, 3, 4, 5};
return arr;
}
// 使用例
int main() {
std::array<int, 5> result = createArray();
// 配列の使用
return 0;
}
- std::vectorを使用する方法: std::vectorは動的配列であり、サイズが可変です。関数内でstd::vectorを作成し、それを返すことができます。
#include <vector>
std::vector<int> createVector() {
std::vector<int> vec = {1, 2, 3, 4, 5};
return vec;
}
// 使用例
int main() {
std::vector<int> result = createVector();
// 配列の使用
return 0;
}
これらはC++で関数から配列を返す一般的な方法のいくつかです。選択する方法は、使用するデータ構造や要件によって異なります。必要に応じて、適切な方法を選択してください。