2010-04-04 47 views
10

Sách hay cho lập trình C++ cấp ngành là gì? Tôi không tìm kiếm cuốn sách C++ mới bắt đầu nói về các kiểu dữ liệu và cấu trúc điều khiển. Tôi đang tìm kiếm một cuốn sách cao cấp hơn. Ví dụ, làm thế nào để xây dựng các ứng dụng hệ thống bằng cách sử dụng C++. Bất kỳ loại hướng dẫn nào sẽ rất hữu ích.Sách về C++ để hiểu các khái niệm nâng cao

+0

Hãy biến điều này thành câu hỏi cộng đồng wiki. –

+0

bản sao có thể có của [Sách hướng dẫn và sách định nghĩa C++ Definitive] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) - Về cơ bản cũng giống với câu hỏi trước bạn hỏi rằng đã được đóng (đúng như vậy) như là một bản sao. – Omnifarious

Trả lời

10

Modern C++ Design bởi Andrei Alexandrescu có lẽ là cuốn sách C++ tiên tiến nhất hiện có. Đó là nhiều hơn về các mẫu thiết kế rất tiên tiến hơn là xây dựng phần mềm.

1

Đây là hai cuốn sách tốt nhất mà tôi đã thấy và đọc

Advanced C++ Programing Styles and Idioms

C++ Common Knowledge

+2

Bạn có bận tâm đọc câu hỏi không? –

+0

Tôi đã làm, và đây là những gì tốt nhất tôi đã thấy. C++ Common Knowledge là một cuốn sách bị bệnh. – Nix

+0

Bạn không thể giỏi ngôn ngữ nào cho đến khi hộp công cụ của bạn hoàn tất. C++ primer là một cuốn sách hay. – Nix

3

Không có cuốn sách mà tôi biết (ai đó sẽ không có nghi ngờ đề nghị cuốn sách Lakos, nhưng nó đã lỗi thời và không tốt lắm trong mọi trường hợp) vì hầu như không ai thực sự biết cách họ phát triển các hệ thống như vậy. Vài người đã làm như vậy đã quản lý nó bởi vì họ rất thông minh và rất tài năng, hai điều không thể được truyền đi trong in ấn.

+0

+1 cho các báo cáo về sách Lakos. Tôi thấy nó đã lỗi thời, rambling và ít sử dụng thực tế. Ngoài ra, IMO bạn hoàn toàn đúng - nguồn thông tin tốt nhất cho một cam kết như vậy là một người đã thành công (đã thành công) giải quyết các dự án như vậy trước đó. Thật không may, cá nhân như vậy không phát triển trên cây (nhưng may mắn thay nhiều người trong số họ đóng góp cho SO). – Dan

13

Nếu bạn đang tìm kiếm cuốn sách về tinh chỉnh thủ công của bạn trong C++ như một ngôn ngữ, bạn không nhận được tốt hơn nhiều so với Scott Meyers' Effective C++More Effective C++ và Herb Sutter Exceptional C++, More Exceptional C++Exceptional C++ Style. Tất cả được đóng gói với thông tin vô giá về việc đưa cơ sở của bạn với ngôn ngữ từ trung cấp đến trình độ cao cấp.

Lập trình cấp hệ thống dành riêng cho hệ điều hành, vì vậy sách sẽ phân kỳ dựa trên nền tảng của bạn. Những người tôi đã tìm thấy rất hữu ích (mặc dù không phải C++ cụ thể) là: Windows System Programming, bởi Johnson M. Hart, Advanced Windows Debugging, bởi Mario Hewardt và Daniel Pravat, và Linux System Programming, bởi Robert Love.

Tất cả các sách này (cũng như đề xuất tuyệt vời của Peter Alexander là Thiết kế C++ hiện đại) có sẵn trên dịch vụ Safari của O'Reilly, một cách khá hiệu quả để thực hiện rất nhiều việc đọc kỹ thuật và cũng có giá trị kiểm tra ra nếu bạn đang xem xét đi trên một bản lề học tập.

+0

+1 cho sách của Scott Meyer. Tìm hiểu về C++ đến một cấp độ hoàn toàn mới. –

1

Lakos 'Large Scale C++ Software Design là một cuốn sách cấp trung cấp khá tốt về kiến ​​trúc phần mềm C++. Đó là một chút lỗi thời - trước khi sử dụng rộng rãi các mẫu chẳng hạn - nhưng nó là một cuốn sách khá hay về chủ đề này.

Lakos làm việc cho Mentor Graphics vào những năm 1980 khi máy trạm thế hệ thứ nhất là công nghệ du jour. Đây là thời đại khi sự khác biệt về hiệu suất và dung lượng bộ nhớ giữa các ứng dụng C và C++ được coi là đáng kể. Cách tiếp cận 'trường học cũ' này thảo luận về kiến ​​trúc hệ thống C++ hiệu quả ở độ sâu nào đó, đó là một chút điểm bán hàng duy nhất cho cuốn sách này.

+1

Đáng buồn thay, Lakos là rất lỗi thời, mặc dù. Tôi sẽ không giới thiệu nó nữa. – sbi

+0

Tôi không hoàn toàn bị thuyết phục bởi bản ghi nhớ 'Lakos đã lỗi thời'. Nó vẫn chứa rất nhiều tài liệu liên quan và có rất ít trong cuốn sách không còn 'hợp lệ' nữa. Mặc dù nó không phải là tất cả và tất cả các kiến ​​trúc phần mềm C++ chắc chắn vẫn đáng đọc. – ConcernedOfTunbridgeWells

1

C++ Templates: The Guide Complete David Vandevoorde và Nicolai M.Josuttis http://www.vandevoorde.com/Templates/

Mọi thứ bạn muốn biết (và nhiều hơn nữa) về mẫu C++, cách sử dụng và kỹ thuật, triết lý thiết kế và ứng dụng để lập trình meta thời gian biên dịch.

2

Bạn nên thử thực sự làm việc theo cách của bạn thông qua Stepanov's Elements of Programming. Tôi nói điều này vì cuốn sách này trình bày chính xác phương pháp luận và logic mà Stepanov đã sử dụng trong khi phát triển Thư viện mẫu chuẩn --- có lẽ là một số mã "công nghiệp" có ảnh hưởng nhất trên mạng.

Các vấn đề liên quan