私はC++にかなり慣れていないので、これに対する答えが明白である場合はお詫び申し上げます。
私は自分のスキルを向上させる方法として、STLスタイルのカスタムデータ構造を作成してきました。(私は実際にはこの構造も実際に必要ですが、研究目的で少し船外に出ます。)
この構造は(ベクトルのように)動的にサイズ変更する必要があります。最初のドラフトでは、基になる「コンテナー」をCスタイルの配列にし、すべての割り当てと割り当て解除を手動で行いました。私はリファクタリングを行っています。コードを少しすっきりさせるために、基礎となる構造としてC++11スタイルのstd::arrayを使用したいと思います。私の問題は、サイズ変更を可能にする方法で配列クラスのメンバーを宣言する方法がわからないことです。テンプレートパラメータが異なればタイプも異なるため、メンバーを配列として宣言し、サイズ変更時に同じ変数を配列に割り当てることはできません。
潜在的なサイズごとにメンバーを宣言することを考えました。
private:
array<T, 8>
array<T, 16>
array<T, 32>
...
しかし、これらの配列のそれぞれがデフォルトでTメンバーを構成することは望ましくありません。
ここにクリーンな解決策はありますか?それとも、Cスタイルの配列に固執する必要がありますか?
助けてくれてありがとう。
編集:
私の質問を読み直した後、実際には意味がないと思います。std :: arrayのサイズはコンパイル時に知る必要があることを理解しましたが、何らかの理由で私の脳は私の目標が不可能であると推測しました。私がCスタイルの配列とヒープで立ち往生していることは今では明らかなようです。完全に明確にするために、それを書き出す必要があったと思います。
回答ありがとうございます。