向量中的每个元素都有唯一的内存地址吗?

MKS*_*zzy 3 c++ vector

相当新的C++.参考这段代码:

for (std::vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
Run Code Online (Sandbox Code Playgroud)

特别是在初始化迭代器和结束条件时.向量中的每个元素都有唯一的内存地址指向吗?或者迭代器的工作方式与指针不同?

vso*_*tco 6

尽管迭代器不一定是指针(尽管对于std::vector大多数非调试实现,它们都将它们实现为指针的精简包装),但保证它的元素在内存中std::vector是连续的.这意味着YES,每个元素都有一个独特的内存位置.