STL迭代器:container.end()

Kol*_*nya 5 c++ containers iterator stl

我正在阅读一些关于STL的文档,并且在那里写了该end()函数返回容器的最后一个元素旁边的字节的迭代器.

我想知道,如果容器占用整个可用内存的最后一个字节,该怎么办?那会发生什么?

Die*_*ühl 4

C++ 内存模型保证您始终可以形成指向数组最后一个元素之后的元素的指针。如果没有,系统将不允许您在此位置分配对象,或者它会回绕。另请注意,这对于数组来说是一个潜在问题,因为其他容器可以使用迭代器类型,这些迭代器类型以其他合适的形式处理过去的结束位置:它们完全控制增量操作的工作方式。