c++ - 关于使用 std::vector<class type Foo> 作为原始数组 Foo []

标签 c++ stl

我知道 vector 保证与数组具有相同的底层内存布局。所以对于 POD(普通旧数据)类型,如 int , vector<int> a可以用作 SomeCFun(&a[0], a.size())什么时候a是非空的。我想知道当元素类型是(复杂的)Class 类型时,该技巧是否仍然安全地工作?

最佳答案

是的,和类型T保证是真的。

关于c++ - 关于使用 std::vector<class type Foo> 作为原始数组 Foo [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571953/

相关文章:

c++ - 从 vector 中调用派生类函数 (c++)

c++ - 使用 glm-library OpenGL 计算法线

c++ - std::multimap 中的 count() 和 find() 问题

c++ - 复制嵌套 vector 的最简单方法是什么

c++ - 为什么 >> 运算符在不同的编译器上显示不同的结果?

c++ - 线程连接问题

c++ - 将数据从一个线程传递到另一个线程的最快方法

c# - 谁能解释为什么 C# 中的 Dictionary<> 不像 STL 中的 map<T,U> 那样工作?

c++ - 使用回调初始化 vector

c++ - 相等 vector 的返回值 std::mismatch