【发布时间】:2019-01-04 21:47:14
【问题描述】:
尝试使用for循环在vec或rowvec中添加元素,但是每次循环添加元素时,矩阵每次都会重置?
犰狳中的新手,我查看了文档,但我什至找不到他们使用 for 循环的单个示例示例。感谢您的帮助。
arma::vec A;
for (int i = 0; i < 10; i++) {
A << i;
}
cout << A;
预期输出:0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0
实际输出:9.0
【问题讨论】:
-
@scohe001 该副本并不完全适用,因为 OP 使用的是
arma::vecs 而不是std::vectors。 -
您应该能够使用常规的
element access来初始化您的值,尽管它在性能方面可能不是最佳的。 -
@0x5453 啊,我什至没有意识到这个标签,我以为它只是写得很糟糕的 C++。在这种情况下,这可能是一个更好的欺骗:push_back/append or appending a vector with a loop in C++ Armadillo
-
为什么要投反对票,这是一个很好的问题。答案并不明显。文档没有说明如何将新元素推入 vec