stl容器中的 .front()函数隐士转换

    周末,睡了两个好觉.前天把周任务完成了,在看公司项目源码。发现std::map 的.front函数会发生隐士转换。

   伪代码如下:

       

std::map<int,int> m_map;

   int &i = m_map.front(); // .fornt 函数书上写的是返回一个引用。
   m_map.pop_push(); //弹出第一个 映射
    return i;  //当时就郁闷了,这样做不会出错吗?


  //仔细看是这样的
     int i = m_map.front(); //这里转换了,当时蒙蒙冲的,也没看返回类型,什么都没看,但是也发现了会发生隐士转换

  

原文地址:https://www.cnblogs.com/dragonmoon/p/4052919.html