アプリ版:「スタンプのみでお礼する」機能のリリースについて

動的配列を宣言するためにnew演算子とdelete演算子を用いる方法があります。
2次元配列は以下のように宣言して作れるのは分かったのですが、
(実際に使って動かしてみました。)
int **pp;
pp = new int*[ROW]; // 行を作る
for(int i = 0; i < ROW; i++) // 列を作る
pp[i] = new int[COL];

http://www.asahi-net.or.jp/~uc3k-ymd/Lesson/Sect …引用)

3次元配列をどのように作ったらいいか分かりません。
教えてください。宜しくお願いします。

A 回答 (2件)

もう一重増やせばいいだけです。



……が、STLのvector使った方がはるかに楽ですよ?

この回答への補足

回答ありがとうございます。

もう1重とはどういうことでしょうか?
具体的に教えていただけるとありがたいです。

また楽な方法の提示ありがとうございます。
STLのvectorは、次回プログラムを作るときに使おうと思います。
今のプログラムはすべてnew演算子で作ってしまったので…。

補足日時:2010/07/19 14:38
    • good
    • 0

「ポインタのポインタ」で二次配列を表現している訳ですから、三次配列は「ポインタのポインタのポインタ」で表現すればいい訳です。



int ***pp;
int i, j;

pp = new (int**)[DEP];

for(int i = 0; i < DEP; i ++)
{
pp[i] = new (int*)[ROW];
for(int j = 0; j < ROW; j ++)
{
pp[i][j] = new int[COL];
}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!