Utilizzo di libC++ Ho trovato la funzione di membro statico std::shared_ptr::make_shared()
nella sezione pubblica. E 'molto utile quando ho già definito tipo alias alla specializzazione std::shared_ptr
s':funzione membro statico make_shared di shared_ptr
using T = int;
using P = std::shared_ptr<T>;
auto p = P::make_shared(123); // <=> std::make_shared<T>(123)
static_assert(std::is_same< decltype(p), P >::value);
Sono preoccupare conformità agli standard, perché gli articoli (1, 2) da fonte attendibile menziona nulla di funzione di membro static make_shared
di std::shared_ptr
.
È un parctice errato utilizzare la funzione attualmente? Perché?
Non è il fatto che non esiste nello standard una ragione sufficiente? –
Sembra che tu sappia già che questa funzione non è standard. Non è solo una domanda basata sull'opinione pubblica? – Brian
Ho appena controllato le specifiche standard e non è descritto lì. Questo è simile all'implementazione specifica. Questo non funziona con la libreria standard C++ VS2015. –