D
D
dollar2017-03-11 15:02:58
Books
dollar, 2017-03-11 15:02:58

Which modern good C++ textbook to choose?

That is, a dry, structured summary of the standard in Russian with simple and understandable examples and clear definitions. And with a small number of translation errors.
Criteria:

  • Description up to the C++14 standard
  • Less water like "in the old compilers it was worse, namely, here's how."
  • Less water like "in the old standard it was different, namely this is how."
Here, I, for example, will not use outdated compilers and the pure C language. I just want to learn modern C++ from scratch.
I tried Prat's textbook, but it describes the 2003 standard and contains a huge amount of water and lyrical digressions, and this is extra time. Other "good" tutorials I've seen are also lagging behind and watery. Really no?

Answer the question

In order to leave comments, you need to log in

8 answer(s)
S
Saboteur, 2017-03-11
@dollar

"Contains a huge amount of water and lyrical digressions, and this is extra time."
This is not water, but associations that help to understand the material.
The textbook, in principle, cannot be dry - it must be diluted with reasoning.
If you need dry modern stuff - read the official documentation on functions like msdn.

D
Dmitry, 2017-03-12
@TrueBers

That is, a dry, structured summary of the standard in Russian

You don't need to learn the standard. Learning the standard and learning C++ are two different dimensions. The standard is taught by those who write compilers, and it is enough for an application developer to know about its existence, where to find it in case of some global misunderstanding and lack of information in other sources. Don't bother with any standard, it's an absolute waste of time in the beginning.
Without this, in any way, the new standard does not cancel the old one. There are such features in the language that were added in the 11th standard, and in the 14th they already announced miss-conception and deprecated, and in the 17th they were removed altogether. Therefore, knowing what was in the old standards is simply necessary to understand why this happens.
Now C++ is in such a state that books on it do not have time to come out, as everything changes. There are now so many sources of information that every day there are a million articles from committee officials. Subscribe on YouTube to official channels, to RSS feeds, to blogs of not the last people of the committee. Now I receive so much RSS every day that when I worked in the office, I managed to read only the main idea diagonally on the way to the office. Now I'm working from home and I can't do anything. Subscribe to CppCon, BoostCon, ISOCpp, Scott Meyers, Andrey Alexandrescu, Herb Sutter, Bjorn Stroustrup. The Boost library is, in fact, a testing ground for the standard, so I advise you to start using it immediately along with the main standard. Also check out the Core Guidelines, it's like a set of crutches for things that are not yet in the standard,
Books on the modern language are designed, one way or another, for those who already know the old language, it makes no sense to write new books from scratch, it is easier to describe what has changed. From more or less useful material, read Scott Meyers Effective Modern C++: 42 Specific Ways to Improve ... , Anthony Williams C++ Concurrency in Action: Practical Multithreading , and the above.

B
Bombus, 2017-03-11
@Bombus

With both hands for the course on stepic.org .
The main sections are presented. Affected levels from assembler to OOP (and its work in machine codes, this explains the implementation of polymorphism - virtual methods, at a minimum, but necessary and sufficient level) and templates. I took several courses on this platform, and I can safely say that the lecturer is one of the best - everything is essentially zero. There are tasks, by solving which you get points. User comments with teachers' answers have been added to each stage. Well, if you pass, you get a certificate. And it's all free.
It is worth noting that on this platform there is the first half of the course, which does not affect C ++ 11 and higher. But in any case, before studying new standards, it is necessary to study the base, which is put on a bang in this course. I think this is the best form of learning C++.
To study new standards, you can watch the lectures of this teacher - Alexander Smal - based on the Computer Science Center , although they no longer cause such a response - a different format. Or you can take a course on the same platform - Multithreaded C/C++ Programming . This is already a serious level. Perhaps the most difficult course on this platform.

D
Derevianko Alexander, 2017-03-12
@dio4

Andrew Koenig, Barbara E. Mu "Effective C++ Programming. Practical Programming with Examples."

A
anton_lazarev, 2017-03-12
@anton_lazarev

https://www.ozon.ru/context/detail/id/136427551/
https://www.ozon.ru/context/detail/id/34747131/

V
Vasily Melnikov, 2017-03-11
@BacCM

In real life, you can't always choose a compiler. And knowing how it was before is not so useless.

K
kyb, 2017-03-16
@kyb

Stackoverflow.com Solve
problems quickly and clearly. The question-answer style of teaching suited me the most. In my training, practice takes up most of the time.

E
exaw, 2017-03-23
@exaw

Nicolai M. Josattis
C++ Standard Library. Help Guide

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question