☰
一招教会你什么时候用.访问什么时候用->访问
2026/10/23 5:20:37 网站建设 项目流程

在 C++ 中,.(点号)和->(箭头)的作用都是访问成员,但对应的“主人”不同:

1. 什么时候用.(点号)?

当你手里拿的是一个普通的变量(对象)或引用时。

在你的代码for(const auto& it : mp2)中:

  • it是mp2中每一个元素的引用。

  • map里的元素类型是pair<const Key, Value>。

  • it就像是一个贴在对象上的“标签”,它代表的就是那个pair对象本身。

  • 所以用it.first。

2. 什么时候用->(箭头)?

当你手里拿的是一个指针或迭代器时。

在 C++ 中,箭头其实是一个“快捷键”,it->first等同于(*it).first(先解引用找到对象,再点一下)。

常见的两种情况:

  • 使用迭代器遍历 map:

    C++
    for(auto it = mp2.begin(); it != mp2.end(); ++it) { cout << it->first << endl; // it 是迭代器,行为类似指针 }
  • 使用动态分配的指针:

    C++
    map<int, int>* ptr = &mp2; cout << ptr->size() << endl; // ptr 是指针

3. 一个帮你永远记住的“土办法”

  • 点(.):代表“的”。it.first→it的first。

  • 箭头(->):代表“指向那个人的...”。it->first→it指向那个人的first。

总结表

语法场景遍历方式it 的身份访问方式
基于范围的 forfor(auto& it : mp)引用(本体)it.first
迭代器 forfor(auto it = mp.begin()...)迭代器(类似指针)it->first
指针变量auto* ptr = &obj指针(地址)ptr->member

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询