Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » typdef

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.03.2004, 13:52 Uhr
~lolipop
Gast


Folgendes Problem:
Ich habe mir ein eigenen typ definiert wie folgt:

C++:
typedef struct tagQueueprobeties {
    char *pName;
    char *pDescription;
    //....
    
    } QUEUEPROBETIES;



nun hole ich mir für pName Speicher:

C++:
QUEUEPROBETIES.pname=new char[1024];


Wenn ich den Struck nun nicht mehr brauche muß ich dann denn Speich einzeln wieder freigeben?

C++:
delete[] QUEUEPROBETIES.pname;


oder gibt es da nen Trick?
Sind nämlich ziemlich viele!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.03.2004, 14:33 Uhr
stephanw
localhorst


So müsstest Du den wieder freigeben. Trick ? In C++: Konstruktor/Destruktor schreiben, die den Speicher allocieren/freigeben oder std::string benutzen.
--
Reden ist Schweigen und Silber ist Gold.

Dieser Post wurde am 08.03.2004 um 14:34 Uhr von stephanw editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.03.2004, 15:24 Uhr
~lolipop
Gast


Wieso funtzt das nicht wenn ich das in einer klassen mache

C++:
#include <string.h>
class test
{
public:
typedef struct tagQueueprobeties {
    std::string pName;
    std::string pDescription;
    //....
    
    } QUEUEPROBETIES;

}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.03.2004, 15:40 Uhr
stephanw
localhorst


Was heißt geht nicht ? Compilieren ? Du hast ein Semikolon vergessen nach der Klassen-Def. .Aber auch sonst ist das doppelt gemoppelt... tu doch so:

C++:
struct QUEUEPROBETIES {
    // struct ist das Gleiche wie eine class, bei der alles public ist
    std::string Name;
    std::string Description;
    //....
};

void foo ()
{
  QUEUEPROBETIES abc;
  abc.Name = "Klaus";
  abc.Description = "Mensch";
  // ...
}


--
Reden ist Schweigen und Silber ist Gold.

Dieser Post wurde am 08.03.2004 um 15:43 Uhr von stephanw editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: