-
配列へのポインタを返す方法: 関数内で動的に割り当てた配列を作成し、その配列へのポインタを関数の戻り値として返す方法です。以下は例です:
int* createArray(int size) { int* arr = new int[size]; // 配列の初期化や操作を行う return arr; } // 関数の使用例 int main() { int* myArray = createArray(5); // 配列の使用や操作を行う delete[] myArray; // メモリの解放 return 0; }
この方法では、動的に割り当てたメモリを解放する責任があります。
-
配列をオブジェクトとして返す方法: 配列をカプセル化したクラスや構造体を作成し、そのオブジェクトを関数の戻り値として返す方法です。以下は例です:
struct Array { int data[5]; }; Array createArray() { Array arr; // 配列の初期化や操作を行う return arr; } // 関数の使用例 int main() { Array myArray = createArray(); // 配列の使用や操作を行う return 0; }
この方法では、配列のサイズや要素の型をカスタマイズすることができます。
-
標準ライブラリのコンテナを使用する方法: C++の標準ライブラリには、配列のような機能を持つコンテナクラスがあります。例えば、
std::vector
やstd::array
があります。以下はstd::vector
を使用した例です:#include <vector> std::vector<int> createArray() { std::vector<int> arr; // 配列の初期化や操作を行う return arr; } // 関数の使用例 int main() { std::vector<int> myArray = createArray(); // 配列の使用や操作を行う return 0; }
これらのコンテナクラスは、自動的にメモリの管理を行ってくれるため、メモリ解放の手続きは必要ありません。
以上がC++で配列を返す方法とコード例のいくつかです。適切な方法は、使用する具体的な状況や要件によって異なる場合があります。選択した方法が問題なく動作することを確認するために、適切なテストやエラーハンドリングも行いましょう。