mudança std :: make_shared () no C ++ 17

Nocppref, o seguinte é válido até C ++ 17:

código comof(std::shared_ptr<int>(new int(42)), g()) pode causar vazamento de memória seg é chamado depoisnew int(42) e lança uma exceção, enquantof(std::make_shared<int>(42), g()) é seguro, pois duas chamadas de função nunca são intercaladas.

Gostaria de saber qual alteração introduzida no C ++ 17 torna isso não mais aplicável.

questionAnswers(2)

yourAnswerToTheQuestion