Zaczynam nowy projekt w C ++ i zacząłem szukać najnowszych w stylu C ++. Skończyło się tutaj na nazwach plików i pomyślałem, że podzielę się tym, jak wymyśliłem swój wybór. Tutaj idzie:
Stroustrup postrzega to bardziej jako kwestię biznesową niż techniczną .
Postępując zgodnie z jego radą, sprawdźmy, czego oczekują łańcuchy narzędzi.
W systemach UNIX / Linux możesz interpretować następujące domyślne reguły tworzenia GNU jako faworyzujące przyrostek nazw plików .cc, ponieważ reguły .cpp i .C to tylko aliasy:
$ make -p | egrep COMPILE[^=]+=
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
COMPILE.cpp = $(COMPILE.cc)
COMPILE.C = $(COMPILE.cc)
(Uwaga: nie ma domyślnego aliasu COMPILE.cxx)
Więc jeśli celujesz w UNIX / Linux, zarówno .cc, jak i .cpp są bardzo dobrymi opcjami.
Podczas celowania w system Windows szukasz problemów z .C, ponieważ jego system plików nie rozróżnia wielkości liter. I może być ważne, aby pamiętać, że Visual Studio preferuje sufiks .cpp
Podczas celowania w macOS należy pamiętać, że Xcode woli .cpp / .hpp (właśnie zaznaczone na Xcode 10.1). Zawsze możesz zmienić szablon nagłówka na .h.
Za to, co jest warte, możesz również oprzeć swoją decyzję na podstawie kodu, który ci się podoba. Google używa .cc a LLVM libc ++ używa .cpp.
Co z plikami nagłówkowymi? Są one kompilowane w kontekście pliku C lub C ++, więc nie ma żadnego kompilatora ani systemu kompilacji, aby odróżnić .h od .hpp. Podświetlanie składni i automatyczne wcięcia przez edytor / IDE mogą jednak stanowić problem, ale rozwiązuje się to poprzez powiązanie wszystkich plików .h z trybem C ++. Jako przykład, moja konfiguracja emacsa w systemie Linux ładuje wszystkie pliki .h w trybie C ++ i edytuje nagłówki C w porządku. Poza tym, mieszając C i C ++, możesz postępować zgodnie z tą radą .
Mój osobisty wniosek : .cpp / .h to ścieżka najmniejszego oporu.