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
Trả lời
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.
Đây là hai cuốn sách tốt nhất mà tôi đã thấy và đọc
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.
+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
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++ và More Effective C++ và Herb Sutter Exceptional C++, More Exceptional C++ và 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.
+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. –
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.
Đá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
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
Ngoài ra: Multi-paradigm design
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.
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.
- 1. Tìm hiểu các khái niệm cơ bản về UIScrollView
- 2. Hiểu các khái niệm cơ bản về Git và GitHub
- 3. Vs. Shaders - giúp hiểu sự khác biệt về khái niệm
- 4. Hiểu khái niệm về kế thừa trong Java
- 5. Nén dòng CUDA: hiểu khái niệm
- 6. Khái niệm về Array.map là gì?
- 7. Tìm hiểu về biến môi trường R và các khái niệm liên quan
- 8. Khái niệm kiến trúc mới
- 9. Câu hỏi khái niệm về Python Threading
- 10. Không hiểu các khái niệm cơ bản về DataBinding động (bindPropety) Trong Flex
- 11. Xin vui lòng giúp tôi hiểu khái niệm về các monads bên trong và bên ngoài
- 12. cố gắng hiểu khái niệm mysql: phiên v.s. kết nối
- 13. Câu hỏi khái niệm Về Java Concurrency
- 14. Sách về Mật mã học từ rất cơ bản đến rất nâng cao
- 15. Danh sách các khái niệm OOP có sẵn
- 16. Mô-đun khái niệm cho C++
- 17. Hướng dẫn về khái niệm lập trình 3D?
- 18. Điều gì TRỰC TUYẾN để sử dụng để tìm hiểu các khái niệm cơ bản về AI và Máy học
- 19. Đề xuất sách về các khái niệm tính toán phân tán được sử dụng trong Cassandra
- 20. Khái niệm giả thuyết, trước đây-C++ 0x câu hỏi
- 21. Tôi có thể tìm thấy một số ví dụ hay để tìm hiểu các khái niệm cơ bản về luồng?
- 22. Khái niệm về một hội trong .NET là gì?
- 23. Các khái niệm: Kênh so với luồng
- 24. sự khác biệt về khái niệm giữa SynchronizationContext và TaskScheduler
- 25. Khái niệm cơ bản về khởi động PHP
- 26. Cần trợ giúp về khái niệm hóa trong Redis/NoSQL
- 27. Khái niệm cơ bản về thiết lập sao chép RavenDB
- 28. Khái niệm về git tracking và git staging
- 29. Java khái niệm ý tưởng
- 30. Khái niệm về "Bộ đếm hiệu suất" trong Linux/Unix
Hãy biến điều này thành câu hỏi cộng đồng wiki. –
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