Saya memulai proyek C ++ baru dan mulai mencari yang terbaru dalam gaya C ++. Saya berakhir di sini mengenai penamaan file dan saya pikir saya akan membagikan bagaimana saya menemukan pilihan saya. Ini dia:
Stroustrup melihat ini lebih sebagai pertimbangan bisnis daripada pertimbangan teknis .
Mengikuti sarannya, mari kita periksa apa yang diharapkan oleh alat.
Untuk UNIX / Linux, Anda dapat menafsirkan GNU default berikut membuat aturan sebagai mendukung akhiran nama file .cc, karena aturan .cpp dan .C hanyalah alias:
$ make -p | egrep COMPILE[^=]+=
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
COMPILE.cpp = $(COMPILE.cc)
COMPILE.C = $(COMPILE.cc)
(Catatan: tidak ada alias COMPILE.cxx default)
Jadi jika Anda menargetkan UNIX / Linux, baik .cc dan .cpp adalah opsi yang sangat bagus.
Saat menargetkan Windows, Anda mencari masalah dengan .C, karena sistem file-nya tidak sensitif huruf. Dan mungkin penting bagi Anda untuk mencatat bahwa Visual Studio mendukung sufiks .cpp
Saat menargetkan macOS, perhatikan bahwa Xcode lebih suka .cpp / .hpp (baru diperiksa pada Xcode 10.1). Anda selalu dapat mengubah template header untuk menggunakan .h.
Untuk apa nilainya, Anda juga dapat mendasarkan keputusan Anda pada basis kode yang Anda sukai. Google menggunakan .cc dan LLVM libc ++ menggunakan .cpp, misalnya.
Bagaimana dengan file header? Mereka dikompilasi dalam konteks file C atau C ++, sehingga tidak ada kompiler atau sistem pembangunan perlu membedakan .h dari .hpp. Namun, penyorotan sintaks dan lekukan otomatis oleh editor / IDE Anda dapat menjadi masalah, tetapi hal ini diperbaiki dengan mengaitkan semua file .h ke mode C ++. Sebagai contoh, konfigurasi emacs saya di Linux memuat semua file .h dalam mode C ++ dan mengedit header C dengan baik. Di luar itu, saat mencampurkan C dan C ++, Anda bisa mengikuti saran ini .
Kesimpulan pribadi saya : .cpp / .h adalah jalan dengan resistensi paling rendah.