Anzeige:
Ergebnis 1 bis 7 von 7

Thema: char*-array als strukturname

  1. #1
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418

    char*-array als strukturname

    Hallo,
    folgende Problematik:
    ich habe eine Funktion, die ein char*-array zurückliefert, z.B. "testing_words". Dieses Array soll nun als Zugriff für eine Struktur dienen (eine Instanz dieser wurde vorher schon angelegt), hier also auf die Struktur testing_words.

    //funktion foo
    ...
    return "testing_words";
    ...

    //main
    menu testing_words;

    cout << $foo().items << endl;
    //...

    So sieht das in etwa aus.

    Wie bekomme ich das hin?

    MFG Florian

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.01.2003
    Beiträge
    222

    Re: char*-array als strukturname

    Original geschrieben von florian hanisch
    Hallo,
    folgende Problematik:
    ich habe eine Funktion, die ein char*-array zurückliefert, z.B. "testing_words". Dieses Array soll nun als Zugriff für eine Struktur dienen (eine Instanz dieser wurde vorher schon angelegt), hier also auf die Struktur testing_words.

    //funktion foo
    ...
    return "testing_words";
    ...

    //main
    menu testing_words;

    cout << $foo().items << endl;
    //...

    So sieht das in etwa aus.

    Wie bekomme ich das hin?

    MFG Florian
    c++ ist kein interpreter, deswegen kannst du während der laufzeit
    nicht auf strukturen u.ä. über die namen zugreifen,
    sondern nur über ihre adresse oder referenz.
    du müsstest also diese information ( name <=> objekt) selber verwalten.
    zb. in einem container, map wäre hier nicht schlecht.

    gruss
    Arthur
    ---------
    irc.mrunix.de #mrunix

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Re: Re: char*-array als strukturname

    Original geschrieben von arthur
    du müsstest also diese information ( name <=> objekt) selber verwalten.
    zb. in einem container, map wäre hier nicht schlecht.
    Ich würde auch zu std::map raten
    Als Key Typ aber besser std::string statt char*, weil map AFAIK überladene Operatoren des Key Typs benutzt.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Hä? Was ist ein Container? Woher bekomme ich Informationen wie das funktioniert?

    MFG

    Florian

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von florian hanisch
    Hä? Was ist ein Container? Woher bekomme ich Informationen wie das funktioniert?
    Container sind Datenstrukturen, die andere Daten enthalten.

    In der C++ Standardbibliothek, genauer in der STL, sind solche Container als Templates implementiert, können also für jeden beliebigen Datentype verwendet werden.

    Jedes halbwegs brauchbare C++ Buch sollte zumindest vector und/oder list behandlen.

    Eine kleine Übersicht findest du hier:
    http://www.cppreference.com/

    In deinem Fall ist wahrscheinlich std::map eine gute Wahl, mit std::string als Key und dem Pointer auf deine Datenstruktur oder die Struktur selbst als Value.

    Wenn du noch nie mit STL Containern gearbeitet hast, probierst du aber zuerst besser einen einfacheren Container, std:vector zum Beispiel.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  6. #6
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Ach, habs in meinem C++ Buch gefunden (und zwar da, wo ich aufgehört habe zu lesen...).
    Ich realisiere das jetzt anders (ich wollte das für Menüs in meinem Prog benutzen). und zwar mit einer Baumstruktur.

    MFG

    Florian

  7. #7
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von florian hanisch
    Ach, habs in meinem C++ Buch gefunden (und zwar da, wo ich aufgehört habe zu lesen...).

    Da wirds erst richtig interessant!
    Auf jeden Fall weiterlesen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •