Wenn ich sicher weiss, dass mir ein Wert geliefert wird, der auf den Zieltyp problemlos gecastet werden kann, löst der Compiler meines Wissens eh mit einem static_cast auf.
Korrekt, in dem Fall wird der Compiler (int) zu einem static_cast machen. In einem anderen Kontext wirds aber vielleicht ein const_cast oder reinterpret_cast oder gar eine komplette Sequenz davon. Und genau darum würd ich von C-Casts abraten: Hinter so einem unschuldigen (int) verbirgt sich evtl. ein richtiges Monster. Einem C++-Cast sieht man dagegen sofort an was genau er tut und was er garantiert nicht tut.
Abgesehen davon sind Casts grundsätzlich sowieso möglichst zu vermeiden, also macht es auch nix wenn ein wenig mehr zu tippen ist, im Gegenteil, C-Casts können in komplexeren Ausdrücken sehr schwer auszumachen sein.
Wenn du in C++ eine hohe Castdichte hast, dann machst du ziemlich sicher irgendwas falsch, außer vielleicht du schreibst grad einen Treiber oder OS Kernel (aber selbst dort braucht man in C++ erstaunlich wenig Casts). Denn überleg mal was du mit einem Cast eigentlich tust: Im Prinzip sagst du dem Compiler damit, dass er bitte ignorieren soll was du ihm bisher so über die beteiligten Objekte erzählt hast: "Ab hier ist alles anders, trust me on this one." Man sollte sich imo eher von vornherein besser überlegen was man dem Compiler über die Objekte erzählt, als sich später immer wieder selbst zu widerrufen
Und ich finde wenn ich viel mit float und int hin und her rechne sind die c-casts doch etwas sparsamer
An deiner Stelle würd ich da lieber erstmal überlegen warum ich eigentlich überhaupt soviel casten muss. Meiner Erfahrung nach sind die meisten solcher Casts unnötig. Außerdem kosten int <-> float Casts (vor allem float -> int kann unter Umständen ziemlich teuer sein), sodass du normalerweise sowieso möglichst lang mit dem selben Typ rechnen willst...
Also wer in C++ programmiert, sollte auch die C++ Casts verwenden.
So ein Unsinn.
Ich find nicht dass das Unsinn wäre. Begründung siehe oben.