Alias



  • Leute hört mir ma zu..ich steh ganz am anfang...folgendes problem:
    Beispiel:

    #include <iostream.h>
    int main ()
    {   const short Si=2; short Ez; char wait; short i;
        struct Subjekt { char * N; char * G;};
        Subjekt Su[Si];
        Su[0].N = "Romeo"; Su[1].N = "Julia";
        Su[0].G = "maennlich"; Su[1].G = "weiblich";
        for (short i = 0; i < Si; i++)
    {       Ez = i + 1;
            cout << Ez << Su[i].N <<Su[i].G << endl;
    }   cin >> wait;
        return 0;
    }
    

    is korrekt aber unter umständen können die variablen tabellen länger werden....ich bräuchte einfach nurn Alias für Su[i].G z.b. mit referenzen und zeigern geht nix....is ja klar ich könnte ner referenz oda nem zeiger den wert Su[i].G zuweisen dann müsste ich jedoch i vorher zuweisen....und bei der coutausgabe bleibt der iwert dann natürlicherweise unverändert...also ich brauch einen stellverterternamen für Su[i].G z.b. mit dem namen: Geschlecht.. gibts da was????



  • Aus deinem Text wird nicht ganz klar was du damit erreichen willst bzw. wozu du den "alias" brauchst. Benutze bitte außerdem die cpp-Tags für Sourcecode.



  • Meinst du jetzt sowas wie das 'With' aus Visual Basic? Das gibt's in C++ nicht.



  • Mein motiv ist die vermeidung von fehlern im text...sprich ich möchte mit:
    z.b.
    cout << Ez << Na << Ge << endl;
    gneausoweit kommen wie mit:
    cout << Ez << Su[i].N <<Su[i].G << endl; eben
    vorallem bei verschachtelungen ist sowas vorzuziehen um fehler zu vermeidend!!!



  • #include <iostream.h>
    int main ()
    {   const short Si=2; short Ez; char wait; short i;
        struct Subjekt { char * N; char * G;};
        Subjekt Su[Si];
        Su[0].N = "Romeo"; Su[1].N = "Julia";
        Su[0].G = "maennlich"; Su[1].G = "weiblich";
        for (short i = 0; i < Si; i++)
        {
           short& Na=Su[i].N;//lokale ref in der schleife
           Ez = i + 1;
           cout << Ez << Na <<Su[i].G << endl;
        }
        cin >> wait;
        return 0;
    }
    


  • #include <iostream.h>
    int main ()
    { const short Si=2; short Ez; char wait; short i;
    struct Subjekt { char * N; char * G;};
    Subjekt Su[Si];
    Su[0].N = "Romeo"; Su[1].N = "Julia";
    Su[0].G = "maennlich"; Su[1].G = "weiblich";
    for (short i = 0; i < Si; i++)
    {
    short& Na=Su[i].N;//lokale ref in der schleife
    Ez = i + 1;
    cout << Ez << Na <<Su[i].G << endl;
    }
    cin >> wait;
    return 0;
    }

    ist mir schon klar aber des bringt wenig des in der schleife anzubringen da wird ja die fehlerquote noch größer!!!!....ich brauch stellvertreternamen für alle!!!so dass ich für alle schleifen oda möglichkeiten nur: NA oda GE...eingeben muss..und des gilt dann für alle möglichkeiten...einfach nur ein ersatz für Su[i].X ....du bringst ja den stellvertreternamen nur für die schleife....dadurch wirds ja nur komplizierter!!!!!!!!!!!!!!



  • nutz doch mal cpp tags!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    ich verstehe nicht, wieso du das brauchst - mir würden weder vorteile einfallen noch, wie man das realisieren könnte!!!!!!!!!!!!!!!!!!!!!!!!!!!

    das macht so und so alles nur noch komplizierter!!!!!!!!!!!!!!!



  • NewBeeeee schrieb:

    komplizierter!!!!!!!!!!!!!!

    Wenn Du es so wünscht, es geht auch viel einfacher!!!!!!!!!!!!!!

    #include <iostream.h> 
    #define Na Su[i].N
    #define Ga Su[i].G
    int main () 
    {   const short Si=2; short Ez; char wait; short i; 
        struct Subjekt { char * N; char * G;}; 
        Subjekt Su[Si]; 
        Su[0].N = "Romeo"; Su[1].N = "Julia"; 
        Su[0].G = "maennlich"; Su[1].G = "weiblich"; 
        for (short i = 0; i < Si; i++) 
        { 
           Ez = i + 1; 
           cout << Ez << Na << Ga << endl; 
        } 
        cin >> wait; 
        return 0; 
    }
    

    Aber das ist nicht sehr beliebt, manche halten es für unsicher!!!!!!!!!!!!!!



  • Das erste, was ich heute auf der Arbeit machen werde ist, mir auf der G15 ein Makro einzurichten, dass mir einfach 20 Ausrufezeichen raushaut. Damit wird in Zukunft bestimmt immer viel deutlicher, was ich ausdrücken will und ich werde viel mehr Hilfe bekommen, ohne meine Finger unnötig zu strapazieren. 💡 💡 💡 💡 💡 💡 💡 💡



  • _matze schrieb:

    Das erste, was ich heute auf der Arbeit machen werde ist, mir auf der G15 ein Makro einzurichten, dass mir einfach 20 Ausrufezeichen ....

    Du meintest bestimmt Glühbirnen, oder? 🤡



  • Tachyon schrieb:

    _matze schrieb:

    Das erste, was ich heute auf der Arbeit machen werde ist, mir auf der G15 ein Makro einzurichten, dass mir einfach 20 Ausrufezeichen ....

    Du meintest bestimmt Glühbirnen, oder? 🤡

    Ich hab ja genug Makro-Tasten, da ist Platz für beides. 🤡


Anmelden zum Antworten