Tôi đã được giới thiệu về Khoa học Máy tính được hơn một năm nay và theo kinh nghiệm của tôi, dường như cả C và C ++ đều được coi là ngôn ngữ "cực nhanh", trong khi các ngôn ngữ khác như Python và các ngôn ngữ kịch bản như vậy thường được coi là hơi chậm .
Nhưng tôi cũng đã thấy nhiều trường hợp trong đó một dự án phần mềm hoặc thậm chí một dự án nhỏ sẽ xen kẽ các tệp trong đó một số n nhất định của các tệp đó sẽ được viết bằng C và một số m nhất định của các tệp đó sẽ được viết bằng C ++.
(Tôi cũng nhận thấy rằng các tệp C ++ hầu như luôn có các tiêu đề tương ứng, trong khi các tệp C không quá nhiều). Nhưng quan điểm chính của tôi là tìm hiểu trực giác chung khi nào nên sử dụng C trên C ++ và khi nào nên sử dụng C ++ hơn C. Khác với thực tế là (1) C ++ là hướng đối tượng trong khi C thì không, và (2) các cú pháp rất giống nhau và C ++ được tạo ra một cách có chủ ý để giống với C theo nhiều cách, tôi không chắc sự khác biệt của chúng là gì. Dường như với tôi rằng chúng (gần như) có thể hoán đổi cho nhau trong nhiều lĩnh vực.
Vì vậy, nó sẽ được đánh giá cao nếu ai đó có thể làm sáng tỏ tình hình! Cảm ơn
virtual
và một vài tính năng khác ngăn chặn tối ưu hóa, nhưng ví dụ, các virtual
lớp không vốn không hiệu quả và các mẫu là một công cụ mạnh mẽ trừu tượng mà thực sự có thể dẫn đến nhiều hiệu quả - ví dụ qsort
vs std::sort
). (2) Tầm quan trọng cao của tính đúng đắn là một lý do để sử dụng C ++ (loại an toàn, const
không, private
RAII để quản lý tài nguyên có thể quản lý được, v.v.) trên C. Hoặc vì vấn đề đó, hãy sử dụng Ada hoặc thứ gì đó ngay từ đầu.
void*
loại con trỏ khác trong mã C, điều này rất gây mất tập trung và điển hình cho những người không biết C.