#define "weigert sich"



  • @Gunnar
    Ich weiß es zwar nicht sicher, aber ich befürchte, dass da die Regeln für Variablen zutreffen, d. h. keine Zahl am Anfang des Variablennamens.



  • 50 imaginäre Bier, dass du die Sachen ganz falsch angehst.



  • hatschi soll aber mehrfach einen Wert zugewiesen bekommen und nicht nur 1x!

    Dem Ausdruck "ich.doof" werden im Quellcode nacheinander mehrere Werte zugewiesen,
    alle diese Zuweisungen sollen auf "hatschi" umgebogen werden OHNE den Code anzutasten.

    Per Texteditor könnte ich natürlich "ich.doof" einfach durch "hatschi" ersetzen, nur das will ich nicht :p 😉



  • Man kann Probleme in der Informatik immer lösen in dem man einfach eine Abstraktionebene höher geht: schreib das ich.doof nicht mehr in den Quelltext, sondern einen Verweis darauf, oder eine Funktion die dir nen Verweis darauf liefert. Diese kannste dann ersetzen.



  • SirLant schrieb:

    Man kann Probleme in der Informatik immer lösen in dem man einfach eine Abstraktionebene höher geht

    Immer?



  • @SirLant: Hübsch geredet. Mache doch mal einen konkreten Vorschlag.

    Wenn ich mir eine Funktion baue um die eine Variable auf die andere umzubiegen,
    so muß die im Quellcode aufrufen. Ich darf aber nichts in den Quellcode einfügen!
    Das ist der Witz an der Sache. Sonst wäre das ja kein Problem. 😃



  • MaSTaH schrieb:

    SirLant schrieb:

    Man kann Probleme in der Informatik immer lösen in dem man einfach eine Abstraktionebene höher geht

    Immer?

    Ja immer, nur gibt es Probleme für diese du derzeit so weit abstrahieren müsstest, dass es eben nicht mehr geht 🤡

    Wenn du das nicht darfst, dann hast du nen Problem, es gibt nunmal gewisse
    Einschränkungen in jeder Sprache und diese kannst du nicht einfach umgehen.
    Und so lange der Präprozessor keine Punkte im Namen akzeptiert, kannst du da wohl
    nichts machen, den Punkt bekommst du dann mit keinem #define weg.

    Aber mal kurz überlegen, wie wäre es mit

    #define doof doof; hatschi =



  • Frostbeule schrieb:

    Per Texteditor könnte ich natürlich "ich.doof" einfach durch "hatschi" ersetzen, nur das will ich nicht :p 😉

    das ist logisch, denn dann wäre der code uU ja sogar halbwegs vernünftig.



  • Was natürlich gehen würde ist das hier:

    int real_hatschi;
    class int_{
    public:
      //...
    };
    struct A{
      struct B{
        struct C{
          struct D{
            struct E{
              E&operator=(int n){
                real_hatschi=n;
                return this;
              }
            }will;
          }ich;
        }wie;
      }heisse;
    }ich;
    #define int int_
    // ********************************* 
    void chart() 
    { 
      int hatschi; 
      ich.heisse.wie.ich.will = 10; 
    } 
    // ********************************* 
    #undef int
    

    Und wenn du nur defines haben kannst dann pack die ganzen Declaration/Definitionen einfach in ein define:

    #define void ... ;void
    

    Wieso gibt es schließlich void? 😃



  • @Irgendwer

    Gut und jetzt schau dir nochmal den Titel dieses Forums an. Fällt dir was auf??



  • Ich hab schon viele Fragen hier gesehen in denen es in diesem Forum um C-style Konstructionen geht und nich um C selber.

    Fals es aber jetzt wirklich reines C sein soll geht es nicht.


Anmelden zum Antworten