我们给出了一些int el_position
号码,这是我们想要的一个位置,通过我们的二维矢量(std::vector< std::vector<int> > matrix(5, std::vector<int>(4))
)的flatened表示。如何到达2d std :: vector的第N个元素(`std :: vector <std :: vector <T>>`)?
含义,如果我们有这样的矩阵
11 21 31 41 51
61 71 81 91 101
,我们分别给予el_position
==
7
,我们需要得到第二排的第二个元素。是否有可能用std 2d向量做这样的事情?如何通过给定在扁平数组中的位置来获取元素的值?
但是,正如我在我的回答中指出的那样,要注意'matrix.front()。size()'来产生你需要的值。 –
@ MichaelKrelin-hacker:同意了,为了避免任何可能的麻烦,我建议在C++ 11('std :: vector>') –
'std :: vector'也许是比较全面的? –