C++/CLI では、多次元配列に対して次を指定できます。
array<int, 2>^ Foo = gcnew array<int, 2>(10);
Foo[0, 0] = 1;
Foo[1, 0] = 2;
// ...
my_array と呼ばれるテンプレート化されたクラスを介して、標準 C++ (C++11 が許可されている) で可能な最も近い構文で上記を複製しようとしています。
例えば
template <typename T, int rank = 1>
class my_array { };
my_array の添え字演算子をオーバーライドするとともに、標準 C++ で C++/CLI の構文を達成するために、コンマ演算子のオーバーロード トリックを使用することは可能ですか?
理想的には、my_array を次のように使用したいと思います (上記の例と同等)。
my_array<int, 2> Foo = // ... (ignore this part - already implemented)
Foo[0, 0] = 1;
Foo[1, 0] = 2;
// ...
ご存じのとおり、私は GCC に相当する C++/CLI を作成していますが、現在フレームワークは多次元配列をサポートしていません。C++/CLI に最も近い構文でその機能を追加したいと考えています。