Các cân nhắc để bao gồm yếu tố cũ hơn là sau này trong chương trình C++ là gì? Tôi luôn luôn bao gồm math.h
, stdlib.h
và không bao giờ cmath
, cstdlib
vv. Tôi không hiểu lý do thứ hai còn tồn tại, ai đó có thể vui lòng khai sáng cho tôi không?#include <cmath> vs #include <math.h> trong chương trình C++
Trả lời
Thích bao gồm các tiêu đề <c ...>
. Chúng là các tiêu đề thư viện chuẩn của C++. Các tiêu đề <... .h>
là tiêu đề được xác định bởi thư viện chuẩn C:
Thư viện chuẩn C++ cũng có sẵn các cơ sở của thư viện chuẩn C, được điều chỉnh phù hợp để đảm bảo an toàn loại tĩnh.
Các tiêu đề C++, phần lớn, có nội dung giống với các tiêu đề thư viện C tương ứng ngoại trừ các tên đều được xác định trong không gian tên std
.
Trừ như đã nêu tại các khoản 18 đến 30 và Phụ lục D, nội dung của mỗi tiêu đề
cname
sẽ là tương tự như của tiêu đề tương ứngname.h
, theo quy định tại các thư viện C chuẩn (1.2) hoặc C Unicode TR, nếu thích hợp, như thể bao gồm. Tuy nhiên, trong thư viện chuẩn C++, các khai báo (ngoại trừ các tên được định nghĩa là các macro trong C) nằm trong phạm vi không gian tên (3.3.6) của không gian tên std. Nó không được chỉ định cho dù những tên này lần đầu tiên được khai báo trong phạm vi không gian tên toàn cầu và sau đó được đưa vào không gian tên bằng cách khai báo sử dụng rõ ràng
Vì vậy, trên thực tế không có lý do thực sự nào để sử dụng các tiêu đề '
@VioletGiraffe Có lẽ bạn đã đọc sai. Tôi đã nói "Thích bao gồm các tiêu đề'
Tôi không hiểu sai. Tôi không thấy một lý do duy nhất nào để thích tiêu đề '
- 1. #include <gdiplus.h> gây lỗi
- 2. C++ #include <atlbase.h> không được tìm thấy
- 3. cố gắng sử dụng '#include <stdbool.h>' trong VS 2010
- 4. Trong tệp .csproj, <None Include = "..."> là gì?
- 5. Twig: render vs include
- 6. thuộc tính layout_weight trong <include> thẻ
- 7. Tại sao #include <Python.h> không hoạt động?
- 8. #include <mapix.h> thiếu Visual Studio 2012
- 9. Tại sao chúng ta cần extern "C" {#include <foo.h>} trong C++?
- 10. Tôi có cần #include <omp.h> trong các nguồn C/C++ của mình không?
- 11. g: include vs g: render
- 12. Khi nào #include <new> thư viện được yêu cầu trong C++?
- 13. findViewById trả về null trên <include> xem
- 14. Sự khác biệt giữa <include> và <ViewStub> trong android
- 15. #include tiêu đề trong C/C++
- 16. Chuỗi ghép trong C#include filename
- 17. Có thể làm rõ một số cách sử dụng <include> và <merge>
- 18. Trình biên dịch biết nơi để tìm #include <stdio.h>?
- 19. std :: cin.ignore (std :: number_limits <std :: streamize> :: max(), '\ n') lỗi khi sử dụng #include <Windows.h>
- 20. #define và trật tự #include trong C
- 21. #include <initializer_list> được yêu cầu sử dụng danh sách trình khởi tạo trong phạm vi dựa trên?
- 22. Cách #include trong javascript?
- 23. Ví dụ đơn giản về việc sử dụng <merge> và <include> trong bố cục XML Android
- 24. Làm thế nào để biên dịch mã sử dụng #include <thread>
- 25. Tại sao #include <stdio.h> không bắt buộc phải sử dụng printf()?
- 26. Biên dịch lỗi với #include <string> trong Cocoa App
- 27. #include <vector> không có tập tin hoặc thư mục như vậy
- 28. Tại sao bỏ sót "#include <string>" chỉ đôi khi gây ra lỗi biên dịch?
- 29. LINQ ".Include" orderby trong subquery
- 30. Sử dụng include() trong ob_start()
Đánh dấu chính xác câu trả lời cho câu hỏi của bạn. –
Có thể trùng lặp nhiều hơn có liên quan so với những người đã được liệt kê: http://stackoverflow.com/questions/8734230/math-interface-vs-cmath-in-c –
@ChrisWhite: thực sự. Cảm ơn. –