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(); //这里转换了,当时蒙蒙冲的,也没看返回类型,什么都没看,但是也发现了会发生隐士转换