【发布时间】:2011-01-01 20:16:56
【问题描述】:
从 a 的第一个元素的内存地址中复制 myvect.size()*sizeof(foo) 个字节是否安全
std::vector<std::pair<T1, T2> > myvect
放入数组中
struct foo{
T1 first;
T2 second;
}
如果数组分配的元素数量与向量的大小相同?
谢谢
【问题讨论】:
-
std::pair 是一个结构,标准说编译器确定布局,但必须保持顺序,所以在 std::pair
的实例中,您的编译器可能决定在每个字符之后放置 3 字节填充以实现最佳对齐,所以不,你不能假设连续的内存布局 - 故事结束。
标签: c++ vector memcpy std-pair