Visual Studio 2019: Debugging std::map::reverse_iterator



  • Hallo zusammen,

    kennt einer von euch vlt eine Möglichkeit, mit dem VS 2019 Debugger vernünftig in einen Reverse Iterator einer Map zu gucken?

    Der Code funktioniert vollständig wie erwartet. Wenn ich aber mit dem Debugger durch steppe, und mir angucke, was die Überwachung zum Iterator sagt, so behauptet der, dass er beim ersten Durchlauf auf end zeigen würde, und gibt als Note noch an, "*ri is equivalent to *prev(ri.base())"

    Die Note habe ich natürlich überlesen und mich gewundert, dass der Iterator scheinbar immer neben das Element zeigt (nämlich immer eins dahinter).

    #include <map>
    #include <iostream>
    
    
    int main()
    {
      std::map<int, std::string> m{ {1, "eins"}, { 2, "zwei" }, { 3, "drei" } };
      
      for (auto riter = m.rbegin(); riter != m.rend(); ++riter)
      {
        std::cout << riter->second << " " << riter->second << "\n";
      }
    }
    

    Ist das Problem bekannt und bisher nur an mir vorbei gegangen? Ist das in VS 2022 immer noch so?


Anmelden zum Antworten