获取迭代器iterator的地址

获取iterator的地址
迭代器是个类,会将真实的数据地址保存在某个内部的成员变量中,并重载各种运算符(比如解引用运算符*)。

要取得数据地址,使用 &* 或者 std::addressof(*iterator)

#include <iostream>
#include <vector>
using namespace std;

int main(){
    vector<int> vecInt;
    for(int i = 10; i != 15; i++){
        vecInt.push_back(i);
    }
    
    //address of iter and end
    vector<int>::iterator iter = vecInt.begin();
    while(iter != vecInt.end()){
        cout << "addr of iter: " << &*iter << ", addr of end: " << &*vecInt.end() << endl;
        iter++;
    }
    
    return 0;
}

参考链接:https://blog.csdn.net/hl_zzl/article/details/84575713

posted @ 2021-04-06 22:47  zeroPatrick  阅读(652)  评论(0编辑  收藏  举报