2013-02-25 17 views

Odpowiedz

26

Będzie działać.

z pkt 20.7.1.2.3/8-9 o C++ 11 standardowych o szablonie unique_ptr<> Klasa:

unique_ptr& operator=(nullptr_t) noexcept;

Efekty: reset().

Postcondition: get() == nullptr

Oznacza to, że określenie klasy matrycy unique_ptr<> zawiera przeciążenie operator = że przyjmuje wartość typu nullptr_t (jak nullptr) w postaci jego prawej strony; paragraf określa również, że przypisanie nullptr do unique_ptr jest równoważne resetowaniu unique_ptr.

Po tym zadaniu, twój obiekt A zostanie zniszczony.

+0

Rozumiem. BTW, tylko nullptr ma nullptr_t, to tak, jak to się robi, nie jest? – Zhen

+1

@Zhen: Standard nie określa tego. Możesz utworzyć zmienną typu 'nullptr_t', ale wątpię, czy kiedykolwiek będziesz musiał to zrobić. –

Powiązane problemy