Zeiger auf map<>



  • Tach,

    Ich will ein Zeiger auf eine map machen, um sie dann mit new und delete zuerstellen b.z.w. loeschen.
    Aber es will nicht gehen! Was mache ich falsch?

    Beispiel code:

    #include <map>
    #include <string>
    
    class tester
    {
      std::map<std::string, std::string> *zeiger;
      std::map<std::string, std::string>::iterator it;
      public:
      tester(void)
      ~tester(void)
    }
    
    tester::tester(void){
      zeiger= new std::map<std::string, std::string>; 
    }
    tester::~tester(void){
      delete zeiger; 
    }
    

    Muss man dann, wenn man tester verwenden moechte noch mit * schaffen?
    also z.B. *zeiger.clear(); oder zeiger.clear();



  • Zeiger->test();
    (*zeiger).test();
    Wenns das nicht ist, ka was du da falsch machst.

    Devil



  • Geht danke.

    Bei welchen befehlen muss man auch noch mit (*zeiger) arbeiten,
    wenn man es mit new erstellt? 😕



  • Green_Ghost schrieb:

    Geht danke.

    Bei welchen befehlen muss man auch noch mit (*zeiger) arbeiten,
    wenn man es mit new erstellt? 😕

    du musst den zeiger erst dereferenzieren, bevor du den .-operator benutzt,
    da der aber eine höhere wertigkeit als * hat, musst du da mit Klammern nachhelfen.

    Devil


Anmelden zum Antworten