Pointer in Array abspeichern, dessen Größe erst zur Laufzeit feststeht



  • Moin,
    ich habe ein Problem, bei dem ich nicht weiterkomme. Ich habe ein funktionierendes Programm (Wator, vielleicht kennt ihrs), bei dem ein Array die Welt widerspiegelt. Den Einträgen dieses Arrays werden während des "Spiels" nun entweder Nullzeiger oder eben Zeiger auf eine eigens von mir entworfene Klasse (fisch) zugewiesen. Das funktioniert auch prächtig. Ich möchte nun aber die Größe des Weltarrays während der Laufzeit bestimmen, damit man das Programm nicht ständig neu kompilieren muss, wenn man die Weltgröße variieren möchte. Ich hab schon vieles probiert, bleibe jetzt aber irgendwie stecken. Habt ihr eine Idee?

    So sieht die Deklaration des Welt-/Planetenarrays aus:

    fisch *planet[hoehe][breite];	// Planetarray
    

    Gruß Sven


  • Administrator

    Wie wäre es, wenn du die Container aus der Standardbibliothek nehmen würdest? Zum Beispiel einen std::vector ?
    http://www.cplusplus.com/reference/stl/

    Vielleicht noch ein wenig mehr Lektüre über den STL Teil der Standardbibliothek:
    Aufbau der STL - Teil 1
    Aufbau der STL - Teil 2
    Aufbau der STL - Teil 3

    Auch interessant, dürfte sowas sein:
    http://www.boost.org/doc/libs/1_39_0/libs/multi_array/doc/index.html

    Aber das sind absolute Grundlagen. Vielleicht solltest du ein gutes C++ Buch zuerst konsultieren.

    Grüssli


Log in to reply