Vor 5 Stunden
(Gestern, 17:22)llm schrieb:Danke für die Erklärung. Der Typecast führt also dazu, dass eine Kopie angelegt wird.(Gestern, 15:49)siebenstreich schrieb: bereits vom Typ (struct enemy_flags) sein. Der Typecast hat also eigentlich nichts mehr zu tun -- warum ändert der Typecast den erzeugten Bytecode?
weil das durch den unnötigen cast eine copy forciert werden könnte - vielleicht nur beim Borland C++ 3.1 - neue kompiler machen sowas nicht, da kommt der gleiche code raus
aber selbst ein aktueller gcc erzeugt für die beiden Zugriffe anderen Code bei ohne Optimierung -O0 -> https://gcc.godbolt.org/z/z5vqa3szW

