今日、大規模なデータ構造を扱っているときに面白い問題に遭遇しました。最初はベクターを使用して 1000000 整数以上を格納していましたが、後でベクターの動的機能は実際には必要ないと判断し (とにかく宣言されるとすぐに 1000000 スポットを予約していました)、代わりに、データ構造の任意の場所に値を追加できます。そこで、配列とBAMスタック オーバーフローに切り替えました。これは、コンパイル時に配列のサイズを宣言すると、配列がスタックに配置され、代わりに動的ベクトルを使用してヒープに配置されるためだと思います (どちらが大きいと思いますか?)。
では、ここでの正しい答えは何ですか?ヒープに置くためだけに動的メモリ システムに戻しますか? スタックのサイズを増やしますか? それとも、私はここにあるすべてのことから離れているのでしょうか...?
ありがとう!