@Quiche-Lorraine sagte in Round-Trip-Cast als Prüfung für verlustfreien Cast?: @SeppJ sagte in Round-Trip-Cast als Prüfung für verlustfreien Cast?: Man muss aufpassen, dass man bei den Vergleichen keine falschen Integerkonvertierungen macht! Denn wenn man schon auf dem Integertypen mit dem höchsten Rang, aber unterschiedlichem Vorzeichen ist, passieren sonst ungewollte Wertumwandlungen. Ich habe hierzu einfach std::numeric_limits und die std::cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal, cmp_greater_equal Funktionen benutzt, welche ich durch clang-tidy kenne, Uhh, die kannte ich noch gar nicht. Dann kannst du all die Problemfälle vergessen, die ich genannt habe. Die Beispielimplementierung ist ja quasi identisch zu meiner Liste. Man muss es nur noch richtig zusammensetzen. Und es funktioniert sogar auf außerirdischen Computern, wenn die einen standardkonformen C++-Compiler haben. PS: std::in_range ist dann die Komplettlösung deines Problems?