首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++在循环期间将向量存储在数组中

C++在循环期间将向量存储在数组中
EN

Stack Overflow用户
提问于 2016-10-22 02:33:26
回答 1查看 631关注 0票数 0

嗨,我是C++的新手,我正在尝试做一些用Matlab语言很容易做的事情。我有一个for循环,它计算一个向量。然后我想存储这个向量,这样我就可以在循环之外访问它。

代码语言:javascript
复制
for(ii=0; ii < numObs; ii++} {
    someVector = ...
    someMatrix[ii][:] = someVector
}

someMatrixii当然不能工作,但这正是我想要做的。感谢您的帮助,谢谢!

说明: someVector是一个1xn元素向量,在循环中每次都会计算它。我只是想把它存储在一个矩阵或数组中(不确定是什么),这样我就可以调用someMatrixii并得到向量。

EN

回答 1

Stack Overflow用户

发布于 2016-10-22 02:40:31

你可能正在寻找类似这样的东西:

代码语言:javascript
复制
std::vector<std::vector<double>> matrix; // matrix - vector of vectors
for(int i = 0; i < numObs; ++i) {
    std::vector<double> vec = ... // your calculations go here
    // if no C++11 - don't use std::move
    matrix.push_back(std::move(vec)); 
}

这里的一个缺点是,您必须在计算代码中确保每个vector将具有相同数量的元素(上面的代码没有对此进行验证)。

注意,这绝对不是处理矩阵的最佳方法,如果你想在上面执行严格的计算,我建议你看看一些专用库(boost::numeric,用于图像处理的OpenCV,Armadillo或其他十几个库中的一个)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40183340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档