Von dem Ergebnis bin ich aber doch ziemlich entsetzt. Vor allen das Ausgabe 2 und 4 das selbe Ergebnis liefern verstehe ich nicht. Den Ergebnistyp einer Addition muss der Compiler doch aus den beteiligten Operanden ableiten und da hätte ich nicht vermutet das der Compiler da eine Art Prioritätsentscheidung über beide Operanden macht, ich hätte mit "der Typ des linken Operand wird für das Ergebnis genommen" gerechnet.So können sich Erwartungen unterscheiden. Ich hätte immer erwartet, dass eine Addition kommutativ ist. Pointer plus Zahl oder Zahl plus Pointer gibt wieder einen Pointer - was sollte auch sonst sinnvolles rauskommen dabei?
Zitat
Warum liefert Ausgabe 5 ein anderes Ergebnis? uintptr_t ist doch auch ein Pointer für ein 4 Byte großes Element oder etwa nicht?uintptr_t ist ein Integertyp, der groß genug ist, dass man einen Pointer drin ablegen kann.
Zitat
Das ist auf jeden Fall ein Grund mehr warum ich VHDL so mag, VHDL ist wenigstens recht konsequent und verlässlich in seinem Verhalten. Da könnte man nie zwei unterschiedliche Datentypen einfach so mit einander Addieren.Naja, zwei Pointer addieren wäre noch größerer Blödsinn.


Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
