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

  • Hudson Music

    Hudson Music

    13 Mart 2007
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011