In A Tour of C++, Third Edition, Bjarne Stroustrup provides an overview of ISO C++, C++20, that aims to give experienced programmers a clear understanding of what constitutes modern C++. Featuring carefully crafted examples and practical help in getting started, this revised and updated edition concisely covers most major language features and the major standard-library components needed for effective use.
Stroustrup presents C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, emphasizing newer language features. This edition covers many features that are new in C++20 as implemented by major C++ suppliers, including modules, concepts, coroutines, and ranges. It even introduces some library components in current use that are not scheduled for inclusion in the standard until C++23.
This authoritative guide does not aim to teach you how to program (for that, see Stroustrup’s Programming: Principles and Practice Using C++, Second Edition), nor will it be the only resource you’ll need for C++ mastery (for that, see Stroustrup’s The C++ Programming Language, Fourth Edition, and recommended online sources). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you won’t find a shorter or simpler introduction.
Luis Alvarez –
Este libro asume que tienes conocimientos básicos en programación. Es bastante bueno para entender el uso de C++ desde un punto de vista más avanzado e integrando nuevas funcionalidades del estándar C++ 20.
AR –
Excellent review
This is a very good review by c++ master, with good tips at the end of each chapter for better and more efficient coding. However you need to know c++ before reading this book. Better to start with another book and come back to this book to consolidate your knowledge.
8 people found this helpful
John –
Too up to date
This is a great book and I have liked and learned quite a bit. One thing I did not like was the use of “import” is not supported yet by C++ yet it is featured and praised in the text. It’s a little frustrating that mares an otherwise excellent work. The way the author teaches is clear and the layout/design supplements that teaching wonderfully.
4 people found this helpful
Asia –
Soo good
I love not being able to quickly ctrl+f my paper books, I love killing trees, I love removing oxygen producers and carbon capture organics from this surface and spitting ink all over it. I also really enjoy heavy objects that I have to lug with me when I move. I also love the eye strain without the right amount of light, the way my arms get tired holding this, the way shiny light glistens off the pages and distracts me. It’s sooo great! lol jk, Thanks Bjarne!!! C++ is awesome but needs more high level functionality and advanced features like double precompiler directives that execute after the first set, better and more advanced server and online prigramming, easier access to all electrical features of my pc (libraries for my usb, microphone, camera etc without using boost…) and much more. I need more creativity Bjarne. Ya can’t just stop halfway. I’d like to see C++ as the highest level language plzzzzz. ty
2 people found this helpful
Zeh –
Great book for an update on C++; the right size, for the right audience
A bit disjointed, but straight to the point.On the one hand, this is how I wish more programming books were written: they assume the reader knows programming already and only needs to learn the topic at hand, rather than describing the universe from scratch before getting to its actual content.On the other hand, it jumps seemingly randomly between topics; sometimes with too much detail, sometimes with not enough; sometimes referencing things back and forth too much.As far as C++ books go, this is probably one of the best, and a mandatory read to keep up with modern C++ (even if it’s aimed at C++20). I just wish it was more even.
7 people found this helpful
Justin Heyes-JonesJustin Heyes-Jones –
Some are put off by C++’s apparent complexity and size. Since the ISO C++98 standard many new features have been added to what was already quite a rich language with lots of dark corners to understand. Many teams working in C++ have established a minimal working set so that they can focus a programming style that matches their way of working.In the face of all that, C++ has gained many new features of the years and across revisions of the standards; C++11, C++17 and c++20 have all contributed considerable expressive power and new ways of doing things.The poor programmer may feel overwhelmed with modern C++ and not know where to start.Whether you are a C++ beginner, or an experienced old hand like myself, this book, written by C++ creator Bjarne Stroustrup, is a mercifully short journey through the language.Whilst each topic is not covered in the kind of depth the language standard or a complete textbook may provide, it is covered conversationally, practically and with precision. The idea is you can read the book in a few days and come away with an overview of C++ as a language.In meeting that goal admirably this is a great addition to any C++ programmers book shelf. For a beginner, Stroustrup advises other texts first, but overall the material is presented quite accessibly and experienced programmers will have no trouble understanding most of the content.
3 people found this helpful
William J. –
Another great version
This edition is a great update on the C++17 edition. It was especially useful having both editions to compare, when necessary, to get a feel not only for how the language has changed but how thinking about using the language has changed. For those who’ve not read a previous version, this book is very succinct considering the breadth of topics covered. The examples are well thought out, clear, and often show a progression of thinking as topics are introduced.
7 people found this helpful
Brian J. Adkins –
Exactly what I needed to update my decades old knowledge of C++ !
This is one of the best programming language books I’ve read. Very well written, and very concise & dense. Very little “fluff” here.I’m coming back to C++ after a 27 year hiatus, and A Tour of C++ was exactly what I needed to modernize my knowledge of C++. Great coverage of both the language and the standard library.The physical quality of the book is also outstanding – very high quality paper that doesn’t bleed through when highlighting/underlining.
6 people found this helpful
Jacob Barber –
Excellent Overview of Modern C++
I’m a recent grad who worked a lot in C++ in my classes, but primarily in C++11 and some 14. So I had a fairly solid foundation with the language but have always been curious about the contemporary language features my coursework may have omitted.I was gifted this book by a colleague and highly recommend it—provided you are among what I would consider the target audience. As titled, it is a high-level tour of the language and its features. That is not to say it is not comprehensive. Stroustrup touches on every language feature, describing it efficiently usually with a couple concise examples. It is assumed that you are already familiar with programming concepts and knowing at least one language well will be helpful in this. I would argue think the ideal reader is someone familiar with C++ basics and wanting to get an idea of where to go next with the language.This book hits a sweet spot for my use-case (and I imagine other similar ones) because it covers the language in a way that other more thorough texts do not, and fills a gap in the C++ literature. The book is a fairly brief (for technical texts) front-to-back read. It does not attempt to be a comprehensive reference, nor does it aim to be an instructional material teaching the fundamentals of the language in great detail.The niche this book fills is that of a “state of the language” for C++. As a language nearly 40 years old, and one with a notorious, almost slavish, commitment to backwards compatibility, C++ has accumulated a ton of features. As a result it has developed a reputation of being inferior to modern languages with bells and whistles. Tracking what new features are implemented each cycle and when to apply them vs. old techniques can be a frustrating task. This book presents a survey of the language features as of C++20 and highlights specifically where modern features have replaced legacy ones as best practices.If you want to get into C++ programming, or want to bring your C++ programming into the modern day, I HIGHLY recommend this. It is an easy read, filled with plenty of great nuggets even for someone with a decent amount of experience in the language. It won’t make you an expert, and should absolutely be used as a companion to a comprehensive reference, but I have yet to find a better more digestible overview of C++.
2 people found this helpful
Frank Linux –
Good review of modern c++
Good for a programmer needing to catch up with modern c++
2 people found this helpful
Daniel –
Det här boken förutsätter att läsaren redan har kunskaper som motsvarar en första kurs i programmering vid tekniska universitet och högskolor i Sverige. Genomgången är mycket tydlig, enkel och rättfram. Varje kapitel avslutas med ett antal goda råd i punktform med referenser till C++ Core Guidelines. Det bästa med boken är att Stroustrup berättar varför han valt att utforma språket på det sätt han gjort, vilket gör det lättare att komma ihåg och använda språkets finesser på ett nästan självklart vis. Det underlättar också förståelsen av STL och objektorientering på ett djupare plan.