如何在迭代器中重载->运算符,以便我可以访问对象的键和值(如std :: map it-> first,it-> second)?

时间:2019-05-27 17:43:14

标签: c++ class iterator operator-overloading

我正在尝试对我的模板类实施迭代器。数据存储在“节点”的“键和信息”字段中。如何从迭代器访问键和信息字段?

我正在考虑重载->运算符,因此可以使用以下对象访问对象:

iterator->key
iterator->value

我已经在std :: map中看到了此实现,并尝试查找它,但是找不到任何可以帮助我的东西。

编辑: “我的节点”是Dictionary类中的私有字段,迭代器具有指向当前Node的私有字段。

struct Node {
        Node* right;
        Node* left;
        int balance;
        Key key;
        Info info;
        Node(Key& key, Info& info) {
            this->key = key;
            this->info = info;
            balance = 0;
        }
    };

0 个答案:

没有答案