Her header/cpp dosyasında ihtiyacım olan her şeyi içermeli miyim? 2d oyun motoru atm (çoğunlukla uygulama için) üzerinde çalışıyorum ve kodumu gözden geçirirken, hemen hemen her dosyada string ve vector'ları tekrarladığımı fark ettim. Bu bir sorun mu ve bununla nasıl başa çıkabilirim? Büyük projelerde #include nasıl kullanılır?
Hep yazdığınız her sınıf veya modül tabiri caizse, içinde kendi iki ayak üzerinde durmalıdır görüşünü yaşadım. Gerçekten jenerik programlamanın tadını çıkardım (kendi komut dosyası motorumla, kendi komut dosyası dilimi de ekliyorum) ancak bunun çok fazla yük ve karışıklığa neden olabileceğini de fark ettim.cevap
Ben sadece gerektiğinde <string>
ve <vector>
dahil sopa olacaktır. Google C++ Stil Kılavuzu include order nasıl başa emin bireysel başlık dosyaları kendi diken olduğu gelince
, ben beğendim. Temel olarak, her zaman foo.cpp
içerisindeki diğer tüm içeriklerini içermesi için karşılık gelen foo.hpp
listesini belirtin. Böylelikle, foo.hpp
'un bir şeyden önce eklenmesini beklemediğini ve orada olmaması durumunda başarısız olacağını biliyoruz.
, ben Google tarafından sağlanan kılavuz gibi, bu bir değişiklik: p –
Bu bir sorun değil. Her dosyada, mutlak asgari bağımlılıkları içermemelisiniz - artık yok, ama daha az değil.
- 1. Büyük projelerde firebird kullanımı
- 2. #include yönergesinde makro nasıl kullanılır?
- 3. D2009'da Generics büyük projelerde kullanılabilir mi?
- 4. Büyük projelerde zend framework ve git ile çalışma
- 5. #include
- 6. <include/> ile Layouts parametreleri nasıl yeniden kullanılır?
- 7. @include laravel'de nasıl çalışır?
- 8. Operatörden tarih ile daha büyük nasıl kullanılır?
- 9. Sürüm modunda yönetilen projelerde PDB'ler nasıl oluşturulur?
- 10. cc1plus: error: include: g ++
- 11. MATLAB'da 'include' davranışını nasıl taklit edebilirim?
- 12. Laravel @include ajax üzerinden
- 13. Varlık Framework Include()
- 14. my ng-include çalışmıyor
- 15. #include yönergesinde makro ikamesi
- 16. PHP'deki 'include() s' performansını nasıl artırabilirim?
- 17. Bir veritabanına karşı sorgulamak için Include()
- 18. JSR 310'da büyük veya küçük harf nasıl kullanılır?
- 19. Büyük bir projede simgeler (xaml yolları) nasıl yeniden kullanılır?
- 20. Ben benim test çözümü 3 projelerde var
- 21. Caliburn.Micro: Farklı Projelerde Görünümler ve Önyükleyici
- 22. Farklı projelerde ileti kutusundaki düğmelerdeki farklı stil
- 23. Farklı projelerde Specflow adım tanımı sınıfları
- 24. C dilinde 1 milyar tamsayı büyük aralıklarla nasıl bildirilir ve kullanılır?
- 25. 'htonl' kullanmak için #include kullanmalıyım?
- 26. "include" Perl için -esk işlevi
- 27. Entity Framework core .Include() issue
- 28. JSON-CPP nasıl kullanılır?
- 29. bind1st ve bind2nd nasıl kullanılır?
- 30. LibUUID nasıl edinilir/kullanılır?
birden çok kez herhangi bir soruna neden olmamalıdır bir başlık dahil uygun '# ifdef's varsa. Ayrıca 2 numarada haklısın. –
, ortak bir içeriğe sahip olan bir başlık dosyası oluşturmak istiyorsanız, bunun yerine bunu yapabileceğinizden daha fazlasını yapmayacaksınız. Ve o dosyaya çok fazla yer vermemeye ve/veya bu dosyayı tahtaya dahil etmeme karşı dikkatli olurdum. – twain249
Eğer jenerik programlamaya aşina iseniz, "#include" c/C++ 'yı esnek olmayan ve unhandy olarak hissedebilirsiniz. Yapmanız gereken şey c/C++ 'yi tanımak ve c/C++' da düşünmektir. :) – ciphor