本文介绍了将矩阵转换为std :: vector的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下矩阵:
unsigned wins[8][3] = { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 }, { 0, 3, 6 }, { 1, 4, 7 }, { 2, 5, 8 }, { 0, 4, 8 }, { 2, 4, 6 } };如何将其转换为std :: vector?
how to convert it into a std::vector?
推荐答案您可以使用两个迭代器构造函数实例化一个带有 wins 中数据副本的向量:
You can use the two iterator constructor to instantiate a vector with a copy of of the data in wins:
unsigned* start = &wins[0][0]; std::vector<unsigned> vwins(start, start + (8 * 3));这取决于指针算法,指针是迭代器的事实以及2D数组是连续的事实块,本质上是一维具有灵巧索引的数组。
This relies on pointer arithmetic, the fact that pointers are iterators, and the fact that 2D arrays are contiguous blocks, essentially 1D arrays with clever indexing.
更多推荐
将矩阵转换为std :: vector
发布评论