本文介绍了在“2d向量”内部创建向量的大小的向量。 (vector< vector>>)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个向量向量,例如
I have a vector of vectors, say
std::vector< std::vector<int> > my2dArray;
现在我想有一个包含 my2dArray
。手动这将看起来像
Now I would like to have a vector that contains the sizes of the vectors inside my2dArray
. Manually this would look something like
std::vector<int> mySizes;
for (int i = 0; i < my2dArray.size(); i++ )
{
mySizes.push_back( my2dArray[i].size() );
}
有更多的优雅循环 - 通过使用一些STL算法等?
Is there a more "elegant" way of doing this - without manually writing a loop - by making use of some STL algorithm or the like?
推荐答案
C ++ 03:
typedef std::vector<int> IntVec;
std::vector<size_t> sizes(my2dArray.size());
std::transform(my2dArray.begin(), my2dArray.end(), sizes.begin(),
std::mem_fun_ref(&IntVec::size));
这篇关于在“2d向量”内部创建向量的大小的向量。 (vector< vector>>)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!