我有std::vector<std::vector<double>> A(300, std::vector<double>(500))
。
我想创建一个子范围为A
的新 vector :sub-vector[5:10][25:100]
。
我怎样才能做到这一点?
最佳答案
您可以使用迭代器。首先创建 vector :
std::vector<std::vector<double>> sub_vector;
sub_vector.reserve(5);
然后使用vector的范围构造函数填充它:
for (std::size_t i = 5; i < 10; ++i) {
sub_vector.emplace_back(A[i].begin() + 25, A[i].begin() + 100);
}
笔记:
关于c++ - 2D vector 的子 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58669481/