Ça laisse quand même au minimum entre 2020 et 2023 sans solution sérieuse.
assert, c'est pas fait pour les chiens, hein.
Mais on reste en UB sur overflow.
Sur overflow des entiers signés. En non-signés, l'overflow est très bien spécifié (ça revient à 0). Et tu peux ne pas avoir d'UB avec un flag du compilo (que tu donnes d'ailleurs).
Tout comme on arrive à faire de la shm ou du mmap aujourd'hui, alors que dans la machine abstraite c'est pas officiellement prévu.
Il y a plein d'autres exemples de trucs qui sont UB mais qui sont utilisés en permanence par tout un tas de gens, y compris dans la bibliothèque standard. Ce papier montre quelques exemples assez éloquent autour du thème de la création d'objet (au sens C++, c'est-à-dire objet mémoire). Pour moi, on est encore très largement dans le mode «la norme + ce qui est nécessaire pour écrire de vrai programmes sur de vrais plateformes».
S'il refuse obstinément de prendre raisonnablement ce tournant,
Mais ils l'assument complètement, depuis très longtemps. Les racines de C++ ne sont pas celles-ci et ils priorisent d'autres aspects de la programmation. Et c'est tant mieux. D'autres langages existent avec d'autres pré-requis pour d'autres contextes, c'est très bien. En attendant, contrairement à ce que tu laisses entendre, C++ va très bien merci. C'est peut-être juste toi qui préfères autre chose que ce que C++ a à offrir. Ce n'est pas très grave.
[^] # Re: Joli lancer !
Posté par rewind (Mastodon) . En réponse au journal Le glissement du C++ (et dans une moindre mesure du C) vers une position indésirable. Évalué à 9.
assert, c'est pas fait pour les chiens, hein.Sur overflow des entiers signés. En non-signés, l'overflow est très bien spécifié (ça revient à 0). Et tu peux ne pas avoir d'UB avec un flag du compilo (que tu donnes d'ailleurs).
Il y a plein d'autres exemples de trucs qui sont UB mais qui sont utilisés en permanence par tout un tas de gens, y compris dans la bibliothèque standard. Ce papier montre quelques exemples assez éloquent autour du thème de la création d'objet (au sens C++, c'est-à-dire objet mémoire). Pour moi, on est encore très largement dans le mode «la norme + ce qui est nécessaire pour écrire de vrai programmes sur de vrais plateformes».
Mais ils l'assument complètement, depuis très longtemps. Les racines de C++ ne sont pas celles-ci et ils priorisent d'autres aspects de la programmation. Et c'est tant mieux. D'autres langages existent avec d'autres pré-requis pour d'autres contextes, c'est très bien. En attendant, contrairement à ce que tu laisses entendre, C++ va très bien merci. C'est peut-être juste toi qui préfères autre chose que ce que C++ a à offrir. Ce n'est pas très grave.