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

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • SaMmM123

    SaMmM123

    3 Mayıs 2006
  • YAN TV

    YAN TV

    20 EKİM 2011