boost::multi_array コンストラクターまたはサイズ変更メソッドが bad_alloc 例外 (または、割り当てまたはサイズ変更が失敗したことを示す他の例外) をスローできるかどうかを調べようとしています。この情報はドキュメントのどこにも見つかりません。
明確化(コメントから追加):
これは、割り当てが失敗した場合に、メモリの消費量が少ない (低速な) メソッドにフォールバックできる科学的アルゴリズムです。基本的に、クエリ内の遺伝子のすべてのペアと、多数のデータセットのそれぞれの相互検証セット内のすべての遺伝子との間の「距離」(相関) を保持するために、2 つの動的に割り当てられた 3 次元配列があります。より遅い方法では、必要に応じてその場で各距離を再計算します。これは、両方のメソッドを実装し、メモリ不足の例外にフォールバックする既存の Java 実装の C++ バージョン用です。私は実際にメモリが不足するとは思っていません。