Map容器MapForSort.begin();永远返回的是第一个值?该怎么处理

Map容器MapForSort.begin();永远返回的是第一个值?
std::map<double,int> MapForSort;//借用map来排序
MapForSort[1.0] = 1;
MapForSort[2.0] = 2;
MapForSort[3.0] = 3;
MapForSort[4.0] = 4;

std::map<double,int>::iterator it = MapForSort.begin();
switch(it->second)
{
case 1: ret1 = a; break;
case 2: ret1 = b; break;
case 3: ret2 = c; break;
case 4: ret2 = d; break;
}

return it->first;
------解决方案--------------------
http://www.cplusplus.com