Dynamic_cast pratik kullanımı?
dynamic_cast
operatörü ile ilgili çok basit bir sorum var. Bu, çalıştırma türü, yani, çalışma zamanında nesne türü hakkında bilmek tanımlama için kullanılır biliyorum. Ama programlama deneyiminden sonra, bu operatörü kullanmak zorunda olduğu gerçek bir senaryo verebilir misiniz? Bunu kullanmadan zorluklar nelerdi?
CEVAP
Oyuncak örneği
Nuh'un gemisi hayvanlar farklı türleri için bir kapsayıcı olarak işlev olacaktır. Sandığın gibi değil endişe arasındaki fark hakkında maymunlar, penguenler ve sivrisinekler, tanımladığınız bir sınıf Animal
, elde sınıfları Monkey
, Penguin
Mosquito
ve mağaza her biri bir Animal
ark.
Tufan bittikten sonra Nuh ait oldukları yerlere dünya çapında hayvanları dağıtmak istiyor ve bu nedenle genel hayvanlar ark onun içinde saklı hakkında ek bilgi ihtiyacı var. Olarak bir örnek, o şimdi denemek için dynamic_cast<>
Her hayvan için bir Penguin
sipariş için anlamaya olan hayvanlardır penguenler için yayımlanan Antarktika ve hangi değildir.
Gerçek hayat örneği
Bir olay, bir uygulama, bir liste içinde çalışma zamanı tarafından oluşturulan olayları saklamak istiyorsunuz çerçeve, izleme hayata geçirdik. Olay monitörler bu liste üzerinden gidin ve ilgileniyorlardı bu belirli olayları inceleyin. Olay türleri OS düzeyi SYSCALL
, FUNCTIONCALL
INTERRUPT
gibi şeyler vardı.
Burada, Event
örnekleri genel bir listede belirli olaylar biz saklı. İzler daha sonra bu liste üzerinde yineleme ve dynamic_cast<>
olayları ilgileniyorlardı bu tür gördüler. Diğer (özel bir durum ortaya) göz ardı edilir.
SoruNeden her olay türü için ayrı bir liste olabilir mi?
Cevap: Yaparsın, ama bunu yapar uzanan bu sistem ile yeni olayların yanı sıra yeni izler (Okunma Sayısı birden fazla olay türleri) daha zor, çünkü herkesin ihtiyaçlarına dikkat ilgili listeleri kontrol edin.
DFS kullanımı pratik vs BFS mi?...
Yeni yerine tahsis init kullanımı...
Dinlendirici bir hizmet için Jersey ve...
@Null annotation kullanımı...
Google kaynak kullanımı vs Python Gidi...