在 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 { };
是否可以通过一些逗号运算符重载技巧来实现标准 C++ 下的 C++/CLI 语法,以及覆盖 my_array 的下标运算符?
理想情况下,我希望 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 的语法方式添加该功能。