Funktion im Konstruktor



  • Nexus schrieb:

    Mr. Long schrieb:

    Hier im Forum schweift man oft von der eigentlich Frage ab, was das finden einer Antwort oft sehr erschwert.

    Richtig, und nicht selten sind der Grund dafür Leute, die ihre "cleveren Hacks" wie 0x0 präsentieren müssen, nur um Einwände zu provozieren 😉

    Nix clevere Hacks (es macht ja exakt... NICHTS...) und auch nix Provokation, wenn ich Aufmerksamkeit will, dann ruf ich bei den jungen grünen Männern an, die dann mit Partybeleuchtung Umgebungsbeschallung bei mir vorbeikommen und mich in ne Hab-Mich-Lieb-Jacke stecken. Effektiver wär das auch 😃



  • Skym0sh0 schrieb:

    volkard schrieb:

    Du tust mit dem Code so, als hätte es eine teifere Bewandtnis, als hätten die Einzelbits eine spezielle Bedeutung. Und jeder Leser stockt da erstmal und überlegt.

    Ok, 1:0 für dich 😞
    Ich machs eigentlich nur rein fürs Aussehen, hab meine IDE auch so eingestellt, dass Zahlenliterale pink sind 😉



  • Skym0sh0 schrieb:

    Nix clevere Hacks (es macht ja exakt... NICHTS...) und auch nix Provokation,

    Warum schreibst Du nicht einen cleveren Hack wie

    return 3/8;
    

    , wenn Du einen ganz besonderen Hingucker für "main beendet sich normal" haben magst?



  • Einfach so nicht :>

    Trollololol



  • oder

    #define return(a) return 0
    [...]
    return(1);
    

  • Mod

    großbuchstaben schrieb:

    oder

    #define return(a) return 0
    [...]
    return(1);
    

    Nein.

    §17.6.4.3.1/2 schrieb:

    A translation unit shall not #define or #undef names lexically identical to keywords [..]



  • ...



  • Ihr seid alle fiese Klammerignorierer!

    int main(){
        return  ((( 0x0 ))); //hab mich lieb ich bin ein Kätzchen
    }
    


  • #define kthxbye return 0
    ?


  • Mod

    return std::false_type{} << sizeof(bool);
    

    Edit: bool muss ja nicht ein Byte groß sein.. 🤡



  • #define EXIT_SUCCESS ((( 0x0 ))) //hab mich lieb ich bin ein Kätzchen
    …
    int main(){
      return EXIT_SUCCESS;
    }
    


  • Arcoth schrieb:

    großbuchstaben schrieb:

    oder

    #define return(a) return 0
    [...]
    return(1);
    

    Nein.

    §17.6.4.3.1/2 schrieb:

    A translation unit shall not #define or #undef names lexically identical to keywords [..]

    na und ? Mein Compiler frißt es



  • Arcoth schrieb:

    return std::false_type{} << sizeof(bool);
    

    Edit: bool muss ja nicht ein Byte groß sein.. 🤡

    Was für einen Sinn macht es einen int mit Wert 0 der aus einem false promoted wurde um sizeof(bool) BITS nach links zu shiften?
    😕


  • Mod

    hustbaer schrieb:

    Arcoth schrieb:

    return std::false_type{} << sizeof(bool);
    

    Edit: bool muss ja nicht ein Byte groß sein.. 🤡

    Was für einen Sinn macht es einen int mit Wert 0 der aus einem false promoted wurde um sizeof(bool) BITS nach links zu shiften?
    😕

    Gar keinen, das soll einfach irre verwirrend und sinnlos sein. 😃 👍



  • Warum dann das "Edit: bool muss ja nicht ein Byte groß sein.."?
    Um arglose Leser wie mich noch mehr zu verwirren? Weil es hier eigentlich vollkommen egal ist wie gross bool ist?


  • Mod

    hustbaer schrieb:

    Um arglose Leser wie mich noch mehr zu verwirren? Weil es hier eigentlich vollkommen egal ist wie gross bool ist?

    Ganz genau. Einfach damit so einer wie du dann da sitzt und sich fragt, worauf zum Teufel sich das Edit wohl beziehen mag. Läuft ja wie am Schnürchen 😃 😃 :p



  • Ich glaub dir kein Wort.
    Ich glaub du wolltest einen vermeintlichen Oversight ausbessern, und hast nicht bemerkt dass die sizeof(bool) Sache gar kein Oversight war, sondern total irrelevant für deinen obfuskierten Code ist.
    😃 :p


  • Mod

    Das stimmt, wegen sizeof(bool) - vague linkage ist bei Itanium halt immer so eine Sache, aber ich dachte das es gerade deswegen Sinn macht, weil CHAR_BIT != sizeof(bool) sein muss. 🙂

    Gib zu, dass du den Satz oben mindestens zweimal gelesen hast. 😃 :p



  • Nö.
    Eher so 1.5 ~ 1.7 mal.
    Vor dem Abschluss des 2. Durchlaufs hab ich quergelesen und den zweiten Satz erfasst, und damit war klar worauf du hinauswillst.
    :p

    (Also insgesamt hab' ich den Satz natürlich mindestens zwei mal gelesen, aber nicht bevor mir klar war dass er nur massgeschneideter Stuss ist.)


Anmelden zum Antworten