Có ai biết cách nào dễ dàng để chuyển đổi một mảng CLI/.NET System :: thành một C++ std :: vector, ngoài việc làm nó thành phần khôn ngoan?convert System :: array thành std :: vector
Tôi đang viết một phương thức trình bao (SetLowerBoundsWrapper, bên dưới) trong CLI/C++ chấp nhận một mảng System :: làm đối số và chuyển vectơ std :: vectơ vào phương thức C++ gốc (set_lower_bounds). Hiện nay tôi làm điều này như sau:
using namespace System;
void SetLowerBoundsWrapper(array<double>^ lb)
{
int n = lb->Length;
std::vector<double> lower(n); //create a std::vector
for(int i = 0; i<n ; i++)
{
lower[i] = lb[i]; //copy element-wise
}
_opt->set_lower_bounds(lower);
}
Tuyệt vời, cảm ơn. Điều này làm việc lần đầu tiên – Rory
Đối với những người khác ở ngoài đó là cách cuộn quá bận rộn để đọc: _opt-> set_lower_bounds (thấp hơn) là chức năng đó là đến từ câu hỏi :) –