Khi tôi được trình bày với các vấn đề lập trình, tôi tự nhiên bắt đầu chia chúng thành các đối tượng logic trong đầu của tôi. Ai có trách nhiệm gì, ai sở hữu cái gì, ai xuất phát từ cái gì, v.v.Đấu tranh với C đến từ vùng hướng đối tượng?
Tôi đang vật lộn với C. Tôi chỉ không biết làm thế nào để làm mọi thứ bằng ngôn ngữ thủ tục.
Nhà lập trình C có kinh nghiệm có thể giúp giải thích cách tôi nên suy nghĩ về các chương trình của mình trong thời gian thiết kế không?
Ví dụ: tôi muốn viết lớp Semaphore của riêng mình. Tôi sẽ tự nhiên cần một cấu trúc dữ liệu Queue cho chương trình của tôi, mà tôi cũng muốn viết bản thân mình. Nếu tôi cần phải làm điều này trong Java hoặc C#, tôi có thể chỉ đơn giản là whip lên một lớp Queue nhanh chóng và tạo ra một thể hiện mới của nó trong lớp Semaphore của tôi.
Nhưng trong C, không có đối tượng. Vì vậy, tôi phải nội tuyến tất cả các hành vi của cấu trúc dữ liệu hàng đợi của tôi?
Ai đó có thể giúp tôi "tải xuống" không?
liên quan: what is the best way to plan and organize development of an application in c
gạch dưới hàng đầu được đặt trước và không nên sử dụng. –
Tùy thuộc vào cách api của bạn được xác định, bạn cũng có thể sử dụng các biến thể trên PIMPL để xác định biến riêng tư hoặc truyền tới/từ "char reserved [SOME_SIZE]" để người dùng không bao giờ thấy biến riêng tư là gì. Các tên @ –
@evan có dấu gạch dưới hàng đầu chỉ được đặt trước phạm vi toàn cầu, không dành cho các thành viên struct –