fork download
  1. #include <iostream>
  2. #include <map>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. void print( std::map< int, char > &x)
  7. {
  8. std::cout<<"map:"<<std::endl;
  9. for (auto& e:x)
  10. std::cout<<" "<<e.first<<":"<<e.second<<std::endl;
  11.  
  12. }
  13.  
  14. int main() {
  15.  
  16. std::map< int, char > charMap { {1,'A'},{2,'B'},{3,'C'}};
  17. print(charMap);
  18. for( auto pi = charMap.end(); pi-- != charMap.begin(); pi=charMap.erase( pi ))
  19. {
  20. charMap[ pi->first + 1 ] = charMap[ pi->first ];
  21. }
  22. print(charMap);
  23.  
  24.  
  25. return 0;
  26. }
Success #stdin #stdout 0s 3464KB
stdin
Standard input is empty
stdout
map:
  1:A
  2:B
  3:C
map:
  2:A
  3:B
  4:C