Zeichen, das NICHT je nach Kontext unterschiedliche Bedeutung hat?



  • diesem Thread:

    Seppi schrieb:

    Das Zeichen '&' hat eben je nach Kontext unterschiedliche Bedeutungen.

    Solche Mehrdeutigkeiten scheinen in C++ noch häufig vorzukommen, nicht nur bei static .

    Gibt es eigentlich ein Zeichen, das in C++ nicht je nach Kontext unterschiedliche Bedeutung hat?



  • Das hier? ;



  • ; schrieb:

    Das hier? ;

    Gut, das ist ein Grenzfall.

    int i; // <-- ";" schliesst Deklaration ab
    i=0; i=1; // ";" = ","
    for (i=0; i<10; ++i) // ";" trennt Argumente für for-Statement
      ; // ";" = "{}". Spätestens das hat eine andere Bedeutung
    


  • ::



  • context-sensitive:
    Nicht ganz. In allen deinen Beispielen schließt das ; nur ein Statement ab, außer bei i<10;, das ist grammatikalisch gesehen eine "Sonderregel", bzw. gehört halt zur for-Schleife.

    dot schrieb:

    ::

    Das ist ein Operator - kein Zeichen. Das : Zeichen hat natürlich wieder mehrere Bedeutungen.

    Allerdings fällt mir auch keine Programmiersprache ein, bei der nicht die Mehrzahl aller Zeichen Kontext-Sensitiv sind, wenn nicht gar alle.



  • Was ist mit Brainfuck? 😉



  • Gibt es eigentlich einen Buchstaben, der im Deutschen nicht je nach Kontext unterschiedliche Bedeutung hat? Scheisse, Insel, omfg ...

    Glueck verschenken, selber denken.



  • context-sensitive schrieb:

    Gibt es eigentlich ein Zeichen, das in C++ nicht je nach Kontext unterschiedliche Bedeutung hat?

    ?


  • Mod

    MFK schrieb:

    context-sensitive schrieb:

    Gibt es eigentlich ein Zeichen, das in C++ nicht je nach Kontext unterschiedliche Bedeutung hat?

    ?

    Nein. Aber auf eine Weise, an die man gar nicht denkt, weil man es als ganz natürlich empfindet, den Kontext zu wechseln:

    char a[]= "?";
    char b = '?';
    int i = 1 ? 0 : 1;
    

    Und ich denke mit dem heranziehen von Zeichen(ketten)literalen ist das Thema wohl sowieso erledigt. Man kann schließlich ganze Programme zwischen " " setzen und es hat eine ganz andere Bedeutung, bloß weil irgendwo weit vorher ein '"' steht. Noch schlimmer mit C++11, wo auf einmal jedes Zeichen zu einem Delimiter für die neuen Zeichenkettenliterale werden kann.



  • SeppJ schrieb:

    Und ich denke mit dem heranziehen von Zeichen(ketten)literalen ist das Thema wohl sowieso erledigt.

    Logisch, aber abgesehen von Kommentaren und Zeichen(ketten)literalen...



  • Präzise geht es auch um Token und nicht um Zeichen 🙂



  • Zeus schrieb:

    Präzise geht es auch um Token und nicht um Zeichen 🙂

    Die Frage war nach Zeichen...


  • Mod

    MFK schrieb:

    SeppJ schrieb:

    Und ich denke mit dem heranziehen von Zeichen(ketten)literalen ist das Thema wohl sowieso erledigt.

    Logisch, aber abgesehen von Kommentaren und Zeichen(ketten)literalen...

    Makros...

    Wie viele Sprachfeatures möchtest du ausschließen?



  • MFK schrieb:

    context-sensitive schrieb:

    Gibt es eigentlich ein Zeichen, das in C++ nicht je nach Kontext unterschiedliche Bedeutung hat?

    ?

    Ich sag nur Trigraphen.



  • 1?no_pe schrieb:

    Ich sag nur Trigraphen.

    Stimmt.


Log in to reply