Schlüsselwort AUTO in c++0x++ , Diskussion, Erläuterung
-
krümelkacker schrieb:
Nö, das habe ich nicht behauptet. Aber ich verwende schonmal entsprechende Suffixe. Blödes aber einfaches Beispiel:
bool is_odd(int z) { return z & 1u; }Damit erzwinge ich hier eine arithmetische Konvertierung int -> unsigned von z bevor & angewendet wird. Diese Konvertierung garantiert mir das Bitmuster eines 2er-Komplements; denn sonst könnte das bei negativen Zahlen und einer anderen Darstellung (1er Komplement) nach hinten losgehen. Die Bitoperationen bei negativen Werten sind einfach nicht klar festgelegt. Bei vorzeichenlosen Zahlen schon.
Aber täte
bool is_odd(int z) { return z%2==0; }nicht das besser tun? Weil man gar nicht um Bitgefrickel nachdenken muß, sondern eher in der Mathematik bleibt.
-
volkard schrieb:
nicht das besser tun? Weil man gar nicht um Bitgefrickel nachdenken muß, sondern eher in der Mathematik bleibt.
Wurde das nicht nur mit unsigned optimiert?

-
cooky451 schrieb:
Wurde das nicht nur mit unsigned optimiert?

Verwechselst Du das mit %1024?
-
volkard schrieb:
Aber täte
bool is_odd(int z) { return z%2==0; }nicht das besser tun?
Es war leider das erste Beispiel, was mir einfiel. Ich würde wahrscheinlich auch einfach z%2**!=**0 der Lesbarkeit wegen schreiben und auf schlaue Compiler vertrauen, die daraus wieder eine Bitfrickelei machen.

-
volkard schrieb:
cooky451 schrieb:
Wurde das nicht nur mit unsigned optimiert?

Verwechselst Du das mit %1024?
Ne, ich beziehe mich da auf http://www.c-plusplus.net/forum/294476