VC++(6.0)MFCで

[戻る]
tera 2008/04/30(水) 01:27:02
VC++(6.0)MFCで開発を行っているのですが
VCではジャグ配列は使用できないのでしょうか??

ちなみにJavaからの転向です。
ご教授よろしくお願いいたします

Ban 2008/04/30(水) 02:32:53
ジャグ配列という機能自体は言語で持っていません。

MFCのCollectionを使ってもかまいませんが、
C++の言語標準ではこんな感じでしょうか。

#include <vector>
std::vector<std::vector<foo> > bar;

もしくはこんな感じかもしれません。

static const int SIZE = 32;
std::vector<foo> bar[SIZE];

ようは動的配列の(動的)配列を作って使う、
ArrayList<ArrayList<Foo> >ということです。

επιστημη [HomePage] 2008/04/30(水) 06:17:33
Banさん、それ真逆ちゃいます?

Foo bar[N][M] が(C#でいうところの)ジャグ配列です。
ただしN,Mは定数でなくてはなりません。

動的に確保するなら
Foo* bar = new Foo[要素の総数]; し、bar[a*T+b] でアクセスして
二次元に見せかけるとか valarray<Foo> 使うとか。

επιστημη [HomePage] 2008/04/30(水) 06:51:24
ご、ごめん。真逆なのは僕のほう orz

"配列の配列"がジャグ配列ですわね。

古いスレッドには追加発言できません。