Sự khác nhau giữa C và C thuần túy trong C++? Và tôi muốn biết một số chi tiết về 'Clean C' dựa trên Lua. Có ai biết các tính năng này không?"Clean C" là gì và nó khác với tiêu chuẩn C như thế nào?
Trả lời
Làm sạch C là một thuật ngữ được đặt trong Harbison & Sách thép (C: A Reference Manual, Prentice Hall). Một chương trình được cho là được viết trong Clean C nếu nó có thể được biên dịch bởi trình biên dịch C chuẩn và trình biên dịch C++ chuẩn; và việc thực thi của nó sẽ không tạo ra hành vi quan sát khác nhau từ hai trình biên dịch (các vấn đề về tối ưu hóa không liên quan).
@pst "là một thuật ngữ đặt ra trong cuốn sách Harbison & Steele" Đó không phải là tài liệu tham khảo? – Mysticial
@pst Tôi không thể tìm thấy số trang trong bản sao H & S của tôi, nhưng một số người đề cập đến thuật ngữ này và H & S trong comp.lang.c – ouah
Hãy thử phần 1.1.5 _Standard C++ _ (p.5 trong ngày 5 ấn bản C: ARM). – ldav1s
Điều khiến tôi thấy rõ ràng nhất là trong C++, bạn phải truyền giá trị trả về của malloc. Các cấu trúc cũng được tự động đánh máy trong C++.
Luôn sử dụng trình biên dịch C cho mã C, chứ không phải C++. C++ là không hoàn toàn tương thích với C.
Một vài người khác sự khác biệt có thể là:
- Trong C, tuyên bố trống func(); khai báo một hàm không xác định đối số của nó là gì, trong khi trong C++, void func(); tương đương với c void func (void) ', không có đối số;
- Nguyên mẫu được yêu cầu trong C++, trong khi đó thường chỉ là cảnh báo trong C;
- Loại hằng số ký tự (như 'a') là int trong C và char trong C++;
- Loại chuỗi ký tự là char [] trong C và const char [] trong C++;
- Một số tên biến hợp lệ trong C, như lớp, là các từ khóa được đặt trước trong C++.
xem thêm http://david.tribble.com/text/ cdiffs.htm – Christoph
Điều gì có nghĩa là 'void func()' đã không chỉ định các đối số của nó? Làm thế nào điều này có thể được sử dụng thực tế? –
@VictorZamanian Quy ước gọi điện cho phép bạn chuyển số lượng đối số không chính xác trong C mà không bị lỗi. Tất nhiên, nếu callee làm điều gì đó xấu với các đối số "không chính xác" của bạn, đó là hành vi không xác định. Bạn chỉ đơn giản tuyên bố sự trả về là vô hiệu. C cho phép một số cẩu thả cực đoan như thế. Tôi nghĩ rằng bất kỳ đối số bạn vượt qua một cái gì đó tuyên bố như thế sẽ được giả định cần phải được chuyển đổi sang int. Không chắc chắn và tôi thực sự không quan tâm đến chuyện vặt như thế. Tôi khai báo các tham số của mình. :) – doug65536
- 1. CLI/C++ chính xác là gì? Nó khác với C++ bình thường như thế nào?
- 2. c tiêu chuẩn và bitshifts
- 3. Tiêu chuẩn như thế nào là std :: thread?
- 4. Sự khác biệt giữa C++, mục tiêu-c và mục tiêu-C++ là gì?
- 5. C# - Thành phần là gì và nó thường được sử dụng như thế nào?
- 6. Tài liệu tiêu chuẩn mục tiêu-C
- 7. Các chuẩn C# "định dạng" là gì?
- 8. [cmdletbinding()] là gì và nó hoạt động như thế nào?
- 9. //! [0] C++ - nó là gì?
- 10. Tiêu chuẩn mã hóa mục tiêu-C?
- 11. Macro Clojure khác với macro C như thế nào?
- 12. Sự khác nhau giữa C# và visual C# là gì?
- 13. Cùng một địa chỉ, nhiều shared_ptr quầy, là nó bị cấm bởi C + + tiêu chuẩn?
- 14. Thư viện C++ std liên kết với các tiêu chuẩn C++ khác nhau
- 15. Tương đương với Math.abs() trong Mục tiêu-C là gì?
- 16. Dremel của Google là gì? Nó khác với Mapreduce như thế nào?
- 17. Tệp IOR là gì, nó hoạt động như thế nào và nó hoạt động như thế nào?
- 18. Mục đích của toán tử ## trong C++ là gì, và nó được gọi là gì?
- 19. là có cách nào để tạo ra các lớp học tiêu chuẩn và đối tượng trong C# như php
- 20. Đâu là tiêu đề của thư viện chuẩn C++
- 21. Có phải C++ 03 là phiên bản mới của tiêu chuẩn C++ hay chỉ là một tiêu chuẩn kỹ thuật (TC) của C++ 98?
- 22. Sự khác nhau giữa thư viện chuẩn và thư viện mẫu chuẩn là gì?
- 23. C + + con trỏ thô và tiêu chuẩn :: shared_ptr
- 24. JSF (Joint Strike Fighter) giống như tiêu chuẩn cho C
- 25. Nhập động, Mục tiêu-C, hoạt động như thế nào?
- 26. Gnu C++ macro __cplusplus phù hợp với tiêu chuẩn?
- 27. DCI là gì và nó có thể phù hợp với Rails như thế nào?
- 28. Bộ nhớ đệm chuẩn bị sẵn sàng - nó có nghĩa là gì (nó hoạt động như thế nào)
- 29. Thư viện chuẩn C++ được liên kết với ứng dụng của tôi như thế nào?
- 30. Tiêu chuẩn phải là gì đối với URL ReSTful?
Vui lòng chỉ chọn một câu hỏi để hỏi. –
Tinh khiết C là gì? – CppLearner
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B –