schnelle Hilfe gesucht bei kleinem Makro Problem



  • Hallöchen

    ich bin gerade dabei C++ zu erlernen, klappt soweit auch ganz gut. nun steh ich vor einem kleinem Problemchen bei dem ich eure Hilfe benötige:

    Ich habe folgende Makro definition:

    #define align32Bit(b)((((b)%4)>1)?((b+4)/4*4):((b)/4*4))

    ich komme aber nicht mit der Kompaktschreibweise klar. Kann mir dass bitte jemand in so einer "normalen" Schleifen darstellen?

    Also mit if(b%4>1)
    {
    (b+4)/4*4;

    else {
    b/4*4;
    }
    }
    stimmt das?



  • Otz110 schrieb:

    stimmt das?

    Einigermassen.

    int align32Bit(int b)
    {
        if (b%4>1)
            return (b+4)/4*4;
        else
            return b/4*4;
    }
    

    Geht allerdings noch kürzer:

    #define align32Bit(b) ((b)/4*4+(b)%4/2)
    


  • ahh ok... da hab ich wohl das return vergessen

    und wenn ich es jetzt als Makro schreiben möchte kann ich das auch mit ner if schleife machen oder geht das nur in der verkürzten schreibweise?!



  • nur verkürzt gehts als makro.
    aber makros sind nicht mehr schneller als funktionen, von daher, wozu makros?

    Und als kleinen Jokus: www.if-schleife.de



  • ok...

    Wie gesagt, bin gerade dabei C++ zu lernen und da fängt das ganze eben mit Makros an...

    Ok du hast recht:) If Abfrage...

    Danke für die Hilfe



  • Otz110 schrieb:

    Wie gesagt, bin gerade dabei C++ zu lernen und da fängt das ganze eben mit Makros an...

    *schauder*
    Was soll das? Makros haben bis auf ganz wenige Ausnahmen echt ausgedient. Das am Anfang zu machen ist ganz dumm. Komisch. Das kann man doch auch hinten reinstecken, wenn man schon voll viel normales Programmieren kann, um die Fälle noch zuz machen, die vielleicht einmal in drei Jahren auftauchen, wo man das braucht. Komisch.

    edit: Ist das Buch von J. W. ? Nur so eine Vermutung.



  • neee sind die Folien von meinem Professor:)



  • Otz110 schrieb:

    ok...

    Wie gesagt, bin gerade dabei C++ zu lernen und da fängt das ganze eben mit Makros an...

    Mh würd ich jetzt so nicht unterschreiben. Als ich mit C++ anfing, bin ich nicht über sowas gestolpert bzw fing es nicht so an.
    Wie lernst du denn C++? Meiner Meinung nach ein komischer Einstieg für C++...

    Lg freeG

    EDIT: Neeein, da war volkard mal wieder schneller:D, aber die Idee mit J.W. hat ich auch gleich:-P



  • Ist das Buch von J. W. ? Nur so eine Vermutung.

    Otz110 schrieb:

    neee sind die Folien von meinem Professor:)

    OMG! Ich dachte es geht nicht schlimmer!



  • ich gebe es ihm gerne weiter:)



  • Otz110 schrieb:

    ich gebe es ihm gerne weiter:)

    Nein. Den wirst Du nicht erziehen.

    Kauf Dir ein supi C++-Buch. Lerne supi C++. Und von oben herab schreibe für ihn eine 1, auch indem Du auf sein Halbwissen eingehst und so schreibst, wie er es mag.
    Zu supi C++-Büchern gibt es hier genug Threads. Die letzten Tage war erst einer.
    Du hast damit sogar weniger Aufwand, als wenn Du ihn nachvollziehen würdest. Und mehr Spaß macht es auch, weil es so sinnvoll ist und Deine eigenen Gedanken nutzbringend und weitertreibend sind. An einem guten Buch mußt Du Dich festhalten, statt dagegen ankämpfen zu müssen, sozusagen irgendwie. Und solche Bücher gibt es sogar.

    Naja, wenn Du in zwei Monaten der Überflieger bist, und oberglaubwürdig, kannste auch mal probieren, ob es was bringt, ihm etwas weiterzugeben. Aber immer so, daß er sein Gesicht nicht verliert.



  • Otz110 schrieb:

    neee sind die Folien von meinem Professor:)

    Ist Dein Professor J.W.?


Anmelden zum Antworten