iterator
ve gibi sınıf çiftlerini uygularken veya benzer bir şekilde kod çoğaltmasını önlemek için en iyi yöntemler nelerdir?Yineleme ve const_iterator sınıfları uygulanırken kod çoğaltmasından kaçınmak için en iyi yöntem
- Genellikle, birçok const_cast kullanarak const_iterator açısından yineleyici uygular mı?
- Bir çeşit sınıf sınıfı kullanılıyor mu ve hem yineleyici hem de const_iterator öğesini ortak bir şablonun farklı örneklemeleri olarak tanımlamak mı gerekiyor?
Bu, kanonik bir çözüm bulmak için ortak bir sorun gibi görünüyor ancak buna adanmış herhangi bir makale bulamadım.
uygulanması, çok geniş baktığımızda vb
ortak kod, refactor. Birçok farklı yaklaşımlar. Kalıtım. Şablonlar. Evrensel olarak üzerinde anlaşılan “en iyi uygulama” yoktur. Her bireysel durum değişir. –
"value_type", "pointer_type", "reference_type" ile bir şablon sınıfını tercih ediyorum. Örneğin: 'şablon sınıf CustomIterator {}; ' ' CustomIterator iterator_type Typedef; ' ' Typedef CustomIterator const_iterator_type; ' –
http://stackoverflow.com/questions/2150192/how- to-kaçınmak-kod çoğaltılması-uygulanması-const-ve-const olmayan-yineleyicinızı –