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

  • Huot Media

    Huot Media

    7 Mayıs 2010
  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010
  • Skittles Page

    Skittles Pag

    28 Mart 2011