Memcpy二维矢量

It'*_*ete 0 c++ stl vector

长话短说,我有一个二维矢量,我需要memcpy().如何获取指向数据结构的第一个元素的指针?

另外,鉴于它在连续内存中,我可以传入这个指针和总大小,对吗?

以下代码是否有效?

vector < vector <int> > vec;
//  .. assume it's populate and built up here
int* ptr = vec[0].data();  // use this pointer
Run Code Online (Sandbox Code Playgroud)

Mar*_*som 6

你没有一个二维矢量,你有一个包含其他矢量的矢量.每个矢量,单独考虑,具有连续的存储,但它们不相邻 - 没有办法用一个副本做你想要的.

您可以使用Boost多维数组库将单个矢量视为二维矢量,这样您就可以立即获取整个内容.