Tandis que je me renseignais sur les règles de strict aliasing, je vois qu'elles diffèrent entre le C et le C++, et plus surprenant, je tombe sur https://gist.github.com/shafik/848ae...t-standard-say dont un chapitre résume que l'on ne peut plus utiliser le résultat d'un malloc, en C++, sans l'enchainer sur un placement new pour manipuler quoique ce soit dedans, même des types indubitablement POD. Faute de quoi on viole les règles de strict aliasing...

J'ai bien compris l'histoire ? Car cela implique plusieurs choses là:
- on a une quantité phénoménale de code C++ (ou compilé comme du C++) en maintenance qui continue à utiliser malloc sans faire de new de placement...
- on va encore être encore plus odieux avec les débutants venant du C et pensant pouvoir employer malloc en toute impunité en C++...