Herb Sutter dans GotW #91 Solution: Smart Pointer Parameters indique " Grâce aux durées de vie structurées, la durée de vie de la fonction appelée est un sous-ensemble strict de l'expression d'appel de la fonction appelante." Est-ce que cela s'applique aux appels de fonction asynchrones?Durée de vie d'un appel de fonction asynchrone
void myFunc(Bar * arg);
...
auto bar = new Bar;
std::thread t1(myFunc,bar);
delete bar;
join t1;
Je présume que dans ce cas, une barre de suppression pourrait invalider l'argument passé dans myFunc sur le thread t1.
Il n'y a pas d'appel de fonction asynchrone en C++. Les threads ne sont pas des fonctions, ce sont des objets. –