boost::scoped_ptr
türünde bir sınıf üyesi 'yapıcı' sınıfının içinde başlatılabilir mi? Nasıl?
(başlatma listesinde değil)C++: Boost :: scoped_ptr bir kurucunun içinde başlatılabilir mi?
9
A
cevap
24
Evet. reset() üye işlevini kullanabilirsiniz.
class foo {
public:
foo()
{
p.reset(new bar());
}
private:
boost::scoped_ptr<bar> p;
};
6
scoped_ptr size kapsayan sınıfının yapıcısında çağırabilir bir yöntem scoped_ptr<T>::reset(T * p=0)
sahiptir.
İlgili konular
- 1. C++ kurucunun içinde bir uçucu işaretçi olarak nasıl yapılır
- 2. PreferenceActivity tercihinden bir DialogFragment başlatılabilir mi?
- 3. Değiştirme desteği :: scoped_ptr için std :: unique_ptr
- 4. Nesne oluşturulduğunda son değişken başlatılabilir mi?
- 5. Boost.Python: Bir sınıfın dışındaki bir kurucunun tanımlanması
- 6. Meteor Uygulaması, meteor yerine düğüm ile başlatılabilir mi?
- 7. Kurucunun içinde arama yapmadan sınıfta bir yöntem çağırın
- 8. Lambda VB.net içinde mi? C#
- 9. Boost (C++) cinsinden fonksiyonlar
- 10. boost :: C++ 11
- 11. İşaretçiyi C++'dan Python/w boost python'a geçirin mi?
- 12. Paketleme algoritması rtree içinde boost içinde
- 13. Neden C++ sınıfında yalnızca integral veya enum türü başlatılabilir?
- 14. Boost lambda :: _ 1, C++ 0x
- 15. Kurucunun başlangıç listesinde 'bu' işareti
- 16. Bir kurucu, hangi diğer kurucunun çağırmak için geçersiz kıldığını belirleyen bir mantık içerebilir mi?
- 17. boost :: thread - Basit örnek çalışmıyor (C++)
- 18. C# içinde bir DataTable'ı bir döngü kullanmadan güncelleştirin mi?
- 19. C++ sarmalayıcı için boost/C++ 11
- 20. Kurucunun başlatma listesindeki dizilimi başlat
- 21. boost :: tokenizer vs boost :: bölme
- 22. C# içinde bir temsilci kapsamı #
- 23. Tek tek Boost kütüphaneleri ile derleme, Boost
- 24. Android NDK: Boost C++ kitaplığı dahil
- 25. Süreç testi için söz konusu süreçte bir zookeeper sunucu örneği başlatılabilir mi?
- 26. C# içinde bir olay yükseltin #
- 27. Belirtilen bağ kısıtlamalarına uyan türdeki kurucunun çağrılması bir istisna attı
- 28. Bir test durumu içinde BOOST TEST test paketi adı alın
- 29. Boost
- 30. C++ karma siparişi verdi mi?
Başlatma listesinde başlatmak mümkün müdür? Öyleyse nasıl? – User