2014-09-11 14 views
15

Więc podczas programowania w Qt lubię korzystać z implementacji Qt tak daleko, jak to możliwe. O ile widziałem, nie ma wersji Qt z std::unique_ptr lub jest tam?C++ Qt gdzie jest wersja std :: unique_ptr Qt?

Jakie byłyby alternatywy, które dają "taki sam" wynik w Qt, jeśli nie istnieje?

+0

Dlaczego konkretnie chcesz wersję Qt? Czy próbujesz napisać C++ bez standardowej biblioteki? –

+2

'QScopedPointer' –

+1

@MikeSeymour nieszczególnie, ale nie ma potrzeby mieszania STD z Qt, gdy implementacja Qt obejmuje to wszystko :) – deW1

Odpowiedz

24

Odpowiednikiem Qt dla std::unique_ptr jest QScopedPointer.

Jest to znacznie mniej przydatne, ponieważ nie obsługuje semantyki ruchu, dzięki czemu jest bliżej użyteczności dla C++ 03 std::auto_ptr (Why is auto_ptr being deprecated?).

+2

'QScopedPointer' nie jest zepsuty, jak' auto_ptr' czy to jest? Nie przenosi własności na kopię i przypisanie, nie obsługuje kopiowania i przypisywania. (afaict, czytanie dokumentacji) –

+0

@Benjamin Lindley rzeczywiście, nie ma w ogóle konstruktora kopiowania, nawet nie ma stałego. – ecatmur

+0

TBH ma niestandardowe deletery, których auto_ptr nie ma. – MSalters