An MSDN page about smart pointers zawiera promowane ostrzeżenie o tworzeniu inteligentnych wskaźników w listach parametrów:Inteligentne wskaźniki i zasady alokacji lista parametrów
Zawsze tworzyć inteligentne kursory na osobnej linii kodu, nigdy w liście parametrów, tak że subtelna wyciek zasobów nie nastąpi z powodu pewnych reguł alokacji listy parametrów.
Jakie są zasady alokacji listy parametrów, do których się odnoszą? W jakich okolicznościach może nastąpić wyciek zasobów?
Ponieważ OP wygląda na to, że używasz VS, myślę, że 'make_unique' jest już obsługiwane w VS2013. – dyp
Dzięki, edytowane dla jasności. VS2012 może być problem, ponieważ nie obsługuje szablonów variadic, pod warunkiem, że link rezerwowy z problemem. (lub OP może wypróbować CTP, uważam, że aktualizacja 2 powinna działać). –
W każdym razie istnieją dodatkowe powody, by preferować 'allocate_shared' i' make_shared', aby to zrobić ręcznie: Efektywność. – Deduplicator