Hin und wieder funktioniert C ++ - Code nicht, wenn er mit einer gewissen Optimierungsstufe kompiliert wird. Es kann sich um einen Compiler handeln, der eine Optimierung durchführt, die den Code bricht, oder um Code, der ein undefiniertes Verhalten enthält, das es dem Compiler ermöglicht, das zu tun, was er für richtig hält.
Angenommen, ich habe einen Code, der beim Kompilieren nur mit höheren Optimierungsstufen kaputt geht. Woher weiß ich, ob es sich um den Code oder den Compiler handelt und was mache ich, wenn es sich um den Compiler handelt?