Pour ma part en tout cas je n'ai jamais eu de cours parler de smart_ptr, ni de RAII par exemple. Je viens de vérifier, même un de mes anciens cours Advanced C++, qui était très bien d'ailleurs, détaille des trucs aussi avancés et inutiles en pratique que placement new.... mais ni dans le chapitre gestion de la mémoire , ni dans STL, ni dans idiomes il n'est fait mention de ces concepts.
A vrai dire, le RAII et la SL, c'est pourtant la base et devrait être vu dans un cours pour débutant. Cependant, il est vrai que les gens qui viennent vers des cours "advanced" ont souvent besoin de revoir ce que l'on estime appartenir aux bases.
En fait, pour les débutants en C++, il faudrait un cours où on aborde les pointeurs, l'allocation dynamique, et new/delete le plus tard possible. Le véritable tour de force serait de faire de l'OO avancé avec polymorphisme sans parler ni de pointeur ni de new. Comme ça on prend la bonne habitude tout de suite, systématiquement utiliser smart_ptr (j'ai encore pas pigé à quoi servait unique_ptr, donc pas taper si je viens de dire une énorme bêtise)
Tout à fait. Je me Lance de Francis Glassborrow ne parlait justement que du C++ procédural avec 0 OO, 0 template, 0 exception (même si le code était exception (et error) safe au final), et 0 pointeur.