Я хочу объявить и инициализировать 1D управляемый массив элементов.
Если бы это был код на C #, я бы написал его так:
VdbMethodInfo[] methods = new VdbMethodInfo[] {
new VdbMethodInfo("Method1"),
new VdbMethodInfo("Method2")
};
Я пытаюсь написать (ну, собственно, пишу программу, генерирующую) то же самое на управляемом C ++ ...
Пока у меня есть:
typedef array<VdbMethodInfo^, 1> MethodArray;
// How do I avoid pre-declaring the size of the array up front?
MethodArray^ methods = gcnew MethodArray(2);
methods[0] = gcnew VdbMethodInfo("Method1");
methods[1] = gcnew VdbMethodInfo("Method2");
С этим есть две проблемы:
- Это более многословно
- Это требует, чтобы я заранее объявил размер массива, что неудобно для моего генератора кода.
Есть ли в Managed C ++ синтаксис «инициализации массива» для массивов GC? Какой правильный синтаксис? Есть ли хорошая веб-ссылка для этого и других подобных вопросов?