- C言語なら俺に聞け(入門編)Part 127©2ch.net
968 :デフォルトの名無しさん[sage]:2015/05/26(火) 17:26:58.75 ID:vEbKL195 - ちょっとfloat test[441000]の配列をnewしたいんだが、
普通に確保しようとすると失敗するんです ほんで、 float *test1; float *test2; ・・・・ float *test100; test1 = new float[4410]; test2 = new float[4410]; ・・・ test100 = new float[4410]; と書けばできるんだが、配列が分割されるから以降のプログラムが肥大してあんまやりたくない なにか良い方法無いですかね。やっぱ諦めてこうするしかない?
|
- C言語なら俺に聞け(入門編)Part 127©2ch.net
970 :デフォルトの名無しさん[sage]:2015/05/26(火) 17:33:30.18 ID:vEbKL195 - VS Community2013、windows7 64bitです
|
- C言語なら俺に聞け(入門編)Part 127©2ch.net
975 :デフォルトの名無しさん[sage]:2015/05/26(火) 17:48:10.05 ID:vEbKL195 - 作曲ソフト上で起動させるようなソフトだから制限があるのかもしれない・・・
ちょっとこれ>>973やってみますん
|
- C言語なら俺に聞け(入門編)Part 127©2ch.net
977 :デフォルトの名無しさん[sage]:2015/05/26(火) 18:07:19.73 ID:vEbKL195 - if (test.m_a) 音を出す関数(); でちゃんとメモリ確保できてましたサンクス!これで進めてみるよ
>>976 起動時に数字埋めるんでそこは大丈夫っす 合ってるか分からんがデストラクタも入れさしてもらいました struct BUFF { typedef float *pfloat; pfloat m_a[100]; BUFF() { for (int i = 0; i < 100; i++) m_a[i] = new float[4410]; } ~BUFF() { //デストラクタ for (int i = 0; i < 100; i++) delete [] m_a[i]; //デストラクタ } //デストラクタ float& get(int i) { return m_a[i / 4410][i % 4410]; } const float& get(int i) const { return m_a[i / 4410][i % 4410]; }; }test;
|