Как это для броского заголовка?
Мне нужно конвертировать туда и обратно из CLR-совместимого типа, такого как массив, и типа std :: vector.
Существуют ли какие-либо методы адаптера, или я должен просто продолжать копировать их каждый раз, когда вызываю один из своих собственных методов?
Есть несколько интересных методов для преобразования между cliextВариантные классы STL и типы CLR, но я не знаю, как получить стандартный вектор в типах STL без цикла for.
Это то, что я делаю повсюду в этомпроект:
vector<double> galilVector = _galilClass->arrayUpload(marshal_as<string>(arrayName));
List<double>^ arrayList = gcnew List<double>();
// Copy out the vector into a list for export to .net
for(vector<double>::size_type i = 0; i < galilVector.size(); i++)
{
arrayList->Add(galilVector[i]);
}
return arrayList->ToArray();