我已经找到了这个问题的一个很好的答案,但一直找不到。我找到了following question,但它没有回答下面的问题(这个问题涉及将2D数组转换为矢量,而不仅仅是一维数组):
我有以下函数将2D数组作为双指针传递,并且数组中第一个和第二个索引的尺寸:
std::vector<std::vector<float>> ConvertToVector(const float **a_data,
const int a_d1, const int a_d2)
我想将a_data转换为2D矢量并返回矢量。到目前为止,我唯一的解决方案是逐步遍历数组第一维中的每个元素,并按如下方式推回每个元素:
std::vector<std::vector<float>> dataVec;
for (int i=0; i<a_d1; i++)
{
std::vector<float> v(a_data[i], a_data[i]+a_d2);
dataVec.push_back(v);
}
return dataVec;
是否有比这更简单/更优雅的解决方案?