KitKat::new() schrieb:
die man ansonsten sofort rausschmeißen würde.
Aber die Kompatibilität!!!11! :-)
(meines Wissens nach gabs doch mal ne Initiative ein paar Compilerschalter einzubauen, womit es dann zumindest bei den gröbsten Dingen ein Warning gibt)
Es gehört aber auch so ein bisschen zum Konzept von C++. C++ möchte dem Programmierer nicht in eine bestimmte Richtung zwingen und baut deshalb auch so viele Features ein (der Umfang von C++ ist ja inzwischen ganz beachtlich). Die so ziemlich einzige Bedingung dafür das es im C++-Standard landet ist, es muss zero-cost sein. Also das Feature darf keiner (oder nur minimale) Laufzeitkosten haben.
Genau das ist mein (persönliches) Problem mit dieser Sprache. Mir ist es lieber, wenn eine Sprache nur wenige Features hat und die dann aber so aufeinander abgestimmt sind, das man damit ein weiteres Feld gut abdecken kann (also nicht irgendwas doppelt hat und so).
Für Dich selbst ist das auch gar nicht mal so das Problem. Für Dich selbst kannst Du ja sagen, Du nutzt nur Feature A, B und C und lässt den Rest einfach links liegen. Die Probleme gehen meist erst da los, wo Du auf vorhandenen Code zugreifen musst.
Außerdem wirst Du so ja auch nicht das Problem los, das C++-Compiler aufgrund des Sprachumfanges viel tun müssen und daher auch vergleichsweise langsam sind. Vorallem wenn wegen fehlender Modularisierung das halbe Projekt noch kompiliert werden muss, obwohl Du ne vergleichsweise unscheinbare Änderung vorgenommen hast (wobei das ja jetzt mit C++ 20 wohl endlich kommt).