C++ 相当新。引用这段代码:
for (std::vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
特别是在初始化迭代器和结束条件时。 vector 中的每个元素是否都有一个唯一的内存地址指向?还是迭代器与指针的工作方式不同?
最佳答案
尽管迭代器不一定是指针(尽管对于 std::vector
的大多数非调试实现将它们实现为围绕指针的薄包装),std::vector
是guaranteed使其元素在内存中连续。这意味着是,每个元素都有一个不同的内存位置。
关于c++ - vector 中的每个元素是否都有唯一的内存地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801898/