Mam klasę szablonową z większą ilością metod (w sumie kilkanaście). Według MSDN zalecaną praktyką w większości przypadków jest zamieszczenie definicji poszczególnych metod w pliku nagłówkowym, razem z deklaracją klasy. Minusem z kolei jest potencjalnie dłuższy czas kompilacji i większy rozmiar pliku wynikowego.
https://docs.microsoft.com/en-us/cpp/cpp/source-code-organization-cpp-templates?view=msvc-160
Wiem, że można sobie przenieść definicje do osobnego pliku (np. *.tpp
) i podlinkować do nagłówka, ale to nic nie zmienia w kwestii kompilacji, a moim zdaniem wręcz utrudnia, bo z każdą definicją trzeba jeszcze doklejać szablon, który zresztą na etapie projektowania klasy może się zmienić.
A jak to wygląda z punktu widzenia waszej praktyki? Czy rzeczywiście jest to najlepsze rozwiązanie? Wiem, że kiedyś było słowo kluczowe export
, ale się nie przyjęło (większość kompilatorów go nie obsługiwała). Jak dla mnie to trochę dziwne, że w żaden sposób tego jeszcze nie unowocześniono.