Wieso gibt Iterator Adresse aus?



  • Hallo,

    folgender Code:

    std::map<int, char> m;
    	m[2] = 'H';
    	m[10] = 'f';
    
    	std::map<int,char>::iterator it = m.find(10);
    
    	std::cout << it->first << ": " << std::cout << it->second << std::endl;
    

    Ergibt bei mir diese Ausgabe:

    10: 0x80d7624f

    Wieso gibt it->second eine Adresse aus? it->second sollte doch vom Typ char sein und folglich ein f ausgeben? 😕



  • lol, hab den Grund gefunden. Sorry fuer die Frage^^



  • Was soll das zweite cout in deiner Ausgabe machen?

    Lg freeG



  • Das ist gut 👍
    Da kann also auch das Safe-Bool-Idiom tüchtig nach hinten gehen. Und dann ist 'f' passenderweise auch noch ein hexadezimales Zeichen...


Log in to reply