Tôi đang bắt đầu một dự án C ++ mới và bắt đầu tìm kiếm phiên bản C ++ mới nhất. Tôi đã kết thúc ở đây về việc đặt tên tập tin và tôi nghĩ rằng tôi sẽ chia sẻ làm thế nào tôi đưa ra lựa chọn của mình. Đây là:
Stroustrup coi điều này như một sự cân nhắc kinh doanh hơn là một kỹ thuật .
Theo lời khuyên của anh ấy, hãy kiểm tra những gì các công cụ mong đợi.
Đối với UNIX / Linux, bạn có thể hiểu các quy tắc GNU mặc định sau đây là ưu tiên cho hậu tố tên tệp .cc, vì các quy tắc .cpp và .C chỉ là bí danh:
$ make -p | egrep COMPILE[^=]+=
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
COMPILE.cpp = $(COMPILE.cc)
COMPILE.C = $(COMPILE.cc)
(Lưu ý: không có bí danh COMPILE.cxx mặc định)
Vì vậy, nếu bạn đang nhắm mục tiêu UNIX / Linux, cả .cc và .cpp đều là những lựa chọn rất tốt.
Khi nhắm mục tiêu Windows, bạn đang tìm kiếm sự cố với .C, vì hệ thống tệp của nó không phân biệt chữ hoa chữ thường. Và điều quan trọng là bạn cần lưu ý rằng Visual Studio ủng hộ hậu tố .cpp
Khi nhắm mục tiêu macOS, lưu ý rằng Xcode thích .cpp / .hpp (chỉ được kiểm tra trên Xcode 10.1). Bạn luôn có thể thay đổi mẫu tiêu đề để sử dụng .h.
Đối với những gì nó có giá trị, bạn cũng có thể dựa trên quyết định của bạn dựa trên các cơ sở mã mà bạn thích. Google sử dụng .cc và LLVM libc ++ sử dụng .cpp chẳng hạn.
Còn các tệp tiêu đề thì sao? Chúng được biên dịch theo ngữ cảnh của tệp C hoặc C ++, do đó không có trình biên dịch hoặc hệ thống xây dựng cần phân biệt .h với .hpp. Tuy nhiên, việc tô sáng cú pháp và thụt lề tự động bởi trình soạn thảo / IDE của bạn có thể là một vấn đề, nhưng điều này được khắc phục bằng cách liên kết tất cả các tệp .h với chế độ C ++. Ví dụ, cấu hình emacs của tôi trên Linux tải tất cả các tệp .h ở chế độ C ++ và nó chỉnh sửa các tiêu đề C tốt. Ngoài ra, khi trộn C và C ++, bạn có thể làm theo lời khuyên này .
Kết luận cá nhân của tôi : .cpp / .h là con đường ít kháng cự nhất.