【发布时间】:2016-01-23 14:58:53
【问题描述】:
在 C++ 中,我有以下代码。我正在尝试将存储在向量中的数据复制到矩阵中(在向量内)。我试过这样做:
Vector<float> vec;
// Let's imagine that vec contains 10 float values: {1,2,3 ...., 10}
// I'd like to copy those numbers into a Mat variable
Vector<Mat> myMats;
myMats.push_back(Mat(2,5,CV_32FC1,&vec.front()));
它有效。但是!当修改向量“vec”上的内容并尝试将其插入到我的 Mat 向量中的另一个位置时,它们都获得了最后一个“push_back”操作的值。 “myMats”中的所有条目都被最后一个条目覆盖。我该如何解决这个问题?
我认为问题在于使用每次修改地址的引用(“&”),在哪里查找。
【问题讨论】:
-
为什么要推送临时对象的地址?
-
是的,刚刚编辑了我提到的问题。我第一次就这样搞定了,后来修改代码不知道怎么弄。
-
另外,我不清楚你想做什么。请描述现在正在发生的事情以及您想要实现的目标。