2013-06-14 29 views
7

Tôi hiện đang đọc một C++ cuốn sách viết năm 2000 mà về cơ bản có nghĩa là sử dụng C++ 98. (đúng cho tôi nếu tôi đã sai lầm)Việc đọc một cuốn sách C++ 11 đòi hỏi phải có kiến ​​thức về C++ 98?

Câu hỏi của tôi là, đọc một C++ 11 cuốn sách như thế này (http://rads.stackoverflow.com/amzn/click/0321563840) mà hầu hết người dùng đề nghị, yêu cầu tôi phải đọc đã có một cuốn sách C++ 98?

+5

Cuốn sách đó bao gồm toàn bộ ngôn ngữ, không chỉ là nội dung mới. –

+0

tùy thuộc vào sách - tức là ấn bản cuối cùng của TC++ PL không cần bạn đọc khác. –

+0

Tôi không nghĩ câu hỏi này xứng đáng được bỏ phiếu – Mene

Trả lời

13

C++ 11 không phải là ngôn ngữ riêng. Nó chỉ là một phiên bản mới của phiên bản hiện tại. Đọc một cuốn sách C++ 11 đòi hỏi bất cứ kiến ​​thức nào trước đây mà cuốn C++ 11 nói nó đòi hỏi.

Phiên bản mới của Bjarne của "Ngôn ngữ lập trình C++" dự kiến ​​sẽ không có kiến ​​thức trước về bất cứ điều gì. Một số sách khác sẽ mong đợi kiến ​​thức trước.

+10

Tôi đoán nó hy vọng kiến ​​thức trước về cách đọc ... – BoBTFish

+0

Sách của Nico Josuttis http://www.cppstdlib.com/ cũng giải thích mọi thứ rõ ràng cho người mới bắt đầu. Không có hại trong việc đọc một cuốn sách cũ nếu nó là bất kỳ tốt mặc dù. – doctorlove

+0

@doctorlove Tôi nghĩ rằng đó thực sự là một cuốn sách tham khảo cho thư viện, không phải là một hướng dẫn ngôn ngữ nhằm vào người mới bắt đầu? – BoBTFish

5

Thực tế, với các thay đổi từ C++ 98 đến C++ 11, tôi khuyên bạn nên không phải trước đây để đọc sách cũ.

Điều này là do rất nhiều phương pháp và thành ngữ cũ đã được thay thế bằng nhiều cấu trúc và tính năng gọn gàng hơn, tránh nhiều cạm bẫy và vấn đề mà các lập trình viên C++ phải đối mặt trước đó. Một so sánh thô sẽ là để đọc lên trên các rơle và ống điện tử/chân không để, cuối cùng, hiểu làm thế nào để xây dựng logic dựa trên bóng bán dẫn. Không cần phải bắt đầu ở đó. Vì vậy, tôi khuyên bạn nên đọc về những gì hiện tại, sau đó nó sẽ không làm tổn thương để đọc một cuốn sách cũ để hiểu lý do tại sao rất nhiều mã C + + đã tồn tại đã được viết như nó được.

Nếu đó là "tính năng mới trong C++ 11", thì rõ ràng bạn cần biết trước C++ 98.

Nhưng như @Nicol cho biết, sách phải khai báo những yêu cầu trước đó của nó.

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