Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » pointer array: mit NULL initialisieren?

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
19.11.2006, 23:26 Uhr
~testo
Gast


Hallo,

ich habe ein array welches eine eigene datenstruktur als typ besitz.
Hier die structure:


C++:
typedef std::pair< Key, ARR_DATA> Arr_Pair;

struct ARR_DATA
{
     double* a;
     double* b;
     double* c;
     int d;
     int e;  
};





jetzt initialisiere ich das member array so:


C++:

C::C(const int dimension)
{
     m_dimension = dimension;
     m_arr = new Arr_Pair[dimension];
}






damit habe ich natürlich ein undefiniertes array auf dem heap. Jetzt fülle ich nach und nach elemente hinein. Dann ist es aber so dass zwischendurch (das einfügen findet an irgendeiner stelle statt und nicht immer nacheinander , d.h. es kann auch vorne undefiniert sein und hinten definiert) das array undefiniert ist und an anderen stellen wo es bereits gefüllt ist dann eben net...

Jetzt kann ich aber z.B nicht über das array laufen um mir den inhalt ausspucken zu lassen weil ja in manchen stellen nix drin steht.

Ich sollte bestimmt irgendwie mit NULL pointern initialisieren oder ähnlichem oder? Leider weiß ich hier nicht weiter....wie könnte ich mir denn z.B das array dann ausspucken lassen ohne einen segfault zu bekommen?

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.11.2006, 08:19 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


warum willst du in dem array überaupt einige felder zunächst nicht besetzen? hilft dir ein std::vector oder eine std::list (oder eine kombination aus beidem...)

Sicherlich kann man da zunächst nen dummywert reinschreiben, die frage ist aber ob man das nicht einfacher haben kann. das hängt aber davon ab was du machen willst...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.11.2006, 09:18 Uhr
ao

(Operator)


Hmmm, wir hatten genau dasselbe kürzlich schon mal: www.fun-soft.de/showtopic.php?threadid=16719

Bist du das auch, testo, oder ist das dein Mitschüler?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.11.2006, 21:18 Uhr
~testo
Gast


nö des bin ich auch...
dachte nur ich könnte einen neuen thread aufmachen weils ja ne andere frage ist...ich frage jetzt ja nach der Besetzung des arrays.

würde die verwendung eines std::vector abhilfe schaffen? Nein oder? Weil dazu müsste ich genaus schreiben: std::vector<MyStruct> vec; und damit würde die structure pointer auch mit undefined gelten...natürlich könnte ich hier mit iteratoren über besetzte werte iterieren oder?

dummywert? Was könnte ich denn für pointer als dummywert nehmen? sind ja pointer auf double arrays...ne idee?

Ich brauche halt ein array welches mir pro element 3 weitere arrays speichert die sich auf dem heap befinden und 2 int werte. Diese sind eben in der structure zusammengefasst.

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.11.2006, 22:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Na dann nimm doch ein array von structs(oder bastel dir gleich ne klasse)...
--
...fleißig wie zwei Weißbrote
 
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: