c++ - 为什么我们需要使用 std::vector::pointer 来访问元素?

标签 c++ stl

通常我们可以使用 vector 数组访问器来访问元素和修改元素,为什么我们需要指针?

http://msdn.microsoft.com/en-us/library/7e4tx21z(VS.71).aspx

最佳答案

std::vector 中名为 pointer 的便利性 typedef 的存在与无数其他 的存在没有区别typedefvalue_type, reference, allocator_type, size_type... 你可以找到完整的列表 here .这些别名在通用设置中非常有用。假设您正在编写一个接受某些容器的通用函数,并希望创建一个 T* 类型的实例,其中容器包含 T 类型的对象。对于 std::vector(通用类型 V,例如)特化(也可能适用于一堆其他 STL 容器),您可以将此类型作为 typename V::value_type * 或更简单的 typename V::pointer

关于c++ - 为什么我们需要使用 std::vector::pointer 来访问元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27978493/

相关文章:

c++ - boost zlib 问题

android - 如何使有关 undefined reference 的错误日志更详细

javascript - 如果无法分配内存,V8 会崩溃吗?这会使整个过程崩溃吗?

C++ STL 映射异常。 (不可变树的根)

c++ - 如何将 std::vector<void*> * 作为 std::vector<MyStruct*>* 传递给函数

c++ - 如何在没有root权限的情况下获取linux中进程的内存使用情况

c++ - (特殊情况,可能与VC目录设置有关) fatal error C1083 : Cannot open include file: 'iostream.h' : No such file or directory

C++ 这是堆栈分配还是堆分配?

c++ - 需要一些方法将函数存储在列表中,然后调用它们

c++ - 如何在 STL 容器和成员函数调用中存储模板化对象