Geniş bir görüntü işleme projem var. Bu özellik, işlevselliğinin büyük bir kısmı için OpenCV kütüphanesine büyük ölçüde dayanıyor.OpenCV veya Boost akıllı işaretçiler
Sorunlara neden olan bazı ham işaretçileri değiştirmek için akıllı işaretçiler kullanmaya başlamak istiyorum. Benim sorum, hangi ana akıllı seçicimin kullanılacağını, benim ana seçimlerimin (bence) OpenCV cv::Ptr
ya da güçlendirici varyantlardan biri olduğunu düşünüyorum.
Ben number artırmak işaretçiler her biri arasında farklı açıklayan questions arasında var farkındayım ama birileri cv::Ptr
onlarla karşılaştıran bir açıklama ve bir ya da diğer herhangi bir öneride umduğunu?
DÜZENLEME - Ptr
shared_ptr
güçlendirmeye benzer olduğunu fark ettim, hangi kitaplık/dosyalar gerekli olan temel fark nedir?
Standart akıllı işaretçileri kullanmayı düşündünüz mü (C++ 11'e erişiminiz varsa)? C++ 11 kullanıyorsanız, std :: shared_ptr' üzerinde – undu
+1. Aksi takdirde, zaten güçlendirme kullanıyor olsanız da veya güçlendirme kullanmayı planlıyorsanız veya destek kullanarak şeylerle birlikte çalışıp çalışmadığınızı anlayabilirsiniz. Ben cv :: Ptr' yeterince iyi çalıştığından, sadece 'shared_ptr' için destek de dahil olduğunu sanmıyorum. – yiding
Kullandığınız API'ları kullanmaktansa, akıllı göstericinin bu 3 çeşidi mutlaka birbirinin yerine geçemez veya kendi aralarında dönüşüm operatörleri sağlayabilir. Bu nedenle, destek kitaplığının diğer bölümlerini kullanırken std :: shared_ptr 'yerine' boost :: shared_ptr 'uygulamasını kullanmak için genellikle iyi nedenler vardır. Aynı şey OpenCV için de geçerli. – marko