Now I use 98/03 and try not to pay attention to 11, but I didn’t have much, because I haven’t yet come across anything that would impose it. And how are things going with you? You've probably already seen how many use the new standard. What do you think about that? Does it make sense, because in the boost, and so almost everything was. With what knowledge base from the previous standard can I switch to a new one? Also talking about the next standard in 2014. Though torn).
Closed due to the fact that it is necessary to reformulate the question so that it was possible to give an objectively correct answer by the participants 0xdb , AK ♦ , user192664, aleksandr barakin , Jarvis_J 13 Nov '18 at 7:00 .
The question gives rise to endless debates and discussions based not on knowledge, but on opinions. To get an answer, rephrase your question so that it can be given an unambiguously correct answer, or delete the question altogether. If the question can be reformulated according to the rules set out in the certificate , edit it .
2 answers
Go sooner or later have to. The problem is that not all used communicators support the new standard sufficiently, and you can find bugs in the supporting ones. I, for example, found a bug in std :: regexp in gcc4.7, and the same in boost :: regexp worked fine. But sooner or later, everything will be fixed and will become commonplace, as has already happened since c ++ 2003. So you need to learn, but I would not use it in real projects, especially for someone where reliability is required. And for yourself, as an experiment, please.
- And what a bug? Tell me, please. - Costantino Rupert
- If something like regexp doesn't work, then it's not so scary. You can continue to use the boost while waiting until 4.9 is released, where this bug is fixed, and not give up on everything else. - Andrey Buran
- one@Andrey Buran And why do you think that if there is a bug in
std::regexp,then it is not, for example, instd::thread? - Costantino Rupert - @ Kotik_khohet_kushat I will try as short as possible: 1) Because there is gcc.gnu.org/bugzilla (for gcc, look for your dev platform bugtracker). If there is a suspicion of a problem, it is easy to find the answer there - in the platform jamb or in your code. - Andrey Buran
- 2) The case with regexp is specific. It was not written down to the end simply in 4.7, which is eloquently indicated by the sign gcc.gnu.org/onlinedocs/libstdc++/manual/ ... What is marked there as working (almost all features of the new standard, that is) - WORKS. I, by the way, have always been skeptical about the use of the boost version - it’s OOOCO MEEEEEED. 3) std :: regexp is a GBU saying not part of the language, it is part of the library! Again in the local case with gcc 4.7 there is the same Clang and (oh, horror!) MSVS - where it has already been implemented. - Andrey Buran
Be sure to go! A lot of things that make life easier (auto, decltype, foreach, lambda, etc.). Well, in general, it makes no sense to stay in the past;)
Just in case: C ++ 11 - the new ISO C ++ standard (there is a Russian version)
- 2Yep After the second for (std :: map <std :: string, std :: vector <std :: string >> :: const_reverse_iterator it = ... I immediately want to switch to
autoandforeach. - VladD - @VladD Yes, in general = (This line of code hurts me ... - Andrey Buran
- one@VladD well, there are more radical means - send away C ++ ... - alexlz
- ... and go to work as a driver). - strol