Önceki çalışma arkadaşlarımdan biri, satır içi üye işlevi tanımlarıyla yaklaşık 100 tek yapıya sahip büyük bir başlık dosyası yazdı. Bu yapı dosyası çoğu sınıf uygulamalarında (cpp dosyaları) ve başlık dosyalarında yer almaktadır (meslektaşımın neden ileri bildirimleri kullanmadığını bilmiyorum)Bir üstbilgi dosyası içinde tanımlanan birden çok yapı - Ayrı h ve cpp dosyalarında bunları kaldırmalı mıyım?
Bu kadar büyük bir başlık dosyasını okumak sadece bir kabus değil, derleyici nedeniyle problemleri takip etmenin zorluğu şimdi birden fazla tanımdan ve döngüsel referanslardan şikayetçi oldu. Genel derleme süreci de gerçekten yavaş.
Bu gibi birçok sorunu gidermek için, bu başlık dosyasının diğer başlık dosyalarından cpp dosyalarına (mümkün olan her yerde) eklenmesine ve yalnızca ilgili yapıların ileriye dönük beyanlarını kullandım. Yine de "ölümcül hata LNK1169: bir veya daha fazla çarpma tanımlı sembol bulunan" gibi garip çoklu tanımlama hataları almaya devam ediyorum.
Şimdi, bu yapı üstbilgi dosyasını yeniden gözden geçirip değiştirmemeyi ve yapı bildirimini ve tanımlamayı her bir yapı için ayrı h/cpp dosyalarında ayırmamayı düşünmekteyim. Visual Studio'daki araçları yeniden işlemeksizin bunu yapmak acı verici ve zaman alıcı olsa da, bu sorunları çözmek için iyi bir yaklaşım mıdır?
Not: Bu soru aşağıdaki soruya ilişkilidir: Böyle büyük bir üstlenmeden ile karşılaştıklarında, büyük olasılıkla aşağıdaki yaklaşımlardan biri yok edecek Multiple classes in a header file vs. a single header file per class
Tamamen bir fikir sorusu. –