SORU
25 Kasım 2011, Cuma


Peki özel deleter std::unique_ptr iş?

N3290 std::unique_ptr göre kabul eder onun kurucu deleter bir argüman.

Ancak, Ubuntu g 4.6.1 ile Visual C 10.0 veya Windows MinGW g 4.4.1 ile, ne de işe gidemiyorum.

Ben bu yüzden benim anlayışıma göre eksik veya yanlış olduğunu korku, görünüşe göre göz ardı var deleter bir argümanın mantığını çözemiyorum, bu yüzden herkes bir çalışma örneği verebilir?

Tercihen unique_ptr<Base> p = unique_ptr<Derived>( new Derived ) için çalıştığını da görmek isterim.

Kullandığınız her neyse, aslında bunu yapması gereken ne? yok muhtemelen standart bazı ifadeler örnek yedeklemek için, yani

CEVAP
25 Kasım 2011, Cuma


Bu MSVC10 benim için çalışıyor

int x = 5;
auto del = [](int * p) { std::cout << "Deleting x, value is : " << *p; };
std::unique_ptr<int, decltype(del)> px(&x, del);

Ve 4.5, 4 ** KİK

Bu örnek, bunu yapmak için beklediğiniz tam olarak ne yaptığını düşünmüyorsun sürece standart olacak kısmını es geçeceğim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011