std::end()
到底指向什么?使用 std::vector
时,它是否分配额外的内存来容纳元素的结束位置?
最佳答案
调用std::end()
在 std::vector
上仅返回 vector 的 end
迭代器,它指向 vector 数组最后一个元素之外的内存地址:
如果 vector
的size
小于其capacity
,将会为这个结束后 1 的位置分配内存,但无论如何,结束位置的内容是未定义的,并且永远不应该被访问。
关于c++ - 了解 std::end() 的行为和 vector 中的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76933111/