私は次のように定義された配列を持っています;
static double Temp_data [TABLE_SIZE];
ユーザーの入力に応じて配列のサイズを変更したい。これは可能ですか?私を助けてください。ありがとう。
私は次のように定義された配列を持っています;
static double Temp_data [TABLE_SIZE];
ユーザーの入力に応じて配列のサイズを変更したい。これは可能ですか?私を助けてください。ありがとう。
いいえ、おそらく使いたいでしょうstd::vector<double> Temp_data;
resize()
次に、そのメンバー関数を使用して、適切と思われるサイズを設定できます。
編集:明確にするために、可能であれば直接使用することは通常避けたいと思いnew
ます(この場合、非常に簡単に使用できます)。を直接使用することnew
は、かなりの数の種類のバグの絶え間ない原因です。std::vector
修正が難しいかなりの数のコーナーケースを処理new
し、データがスコープ外になったときにデータが確実にクリーンアップされるようにします。
前にも言いましたが、ここで繰り返します。かつては、を使用するコードを作成する以外に選択肢はほとんどありませんでしたnew
。今、あなたには選択肢があります-そしてあなたはそれを行使するべきです。最新のコンパイラと標準ライブラリを考えると、配列に。を割り当てる理由はほとんどありませんnew
。
動的メモリ割り当てを使用します。
int size;
cin>>size
int *ptr = new int[size];
T *pData
pData = 新しい T[NUM_ELEMENTS];
基本的に new 演算子を使用します。C++ リファレンスから new の詳細を読む