Does it make sense to restrict yourself to the STL libraries when learning C++ and then tackle boost and its additions after you have become fairly proficient with vanilla C++?
Or should you dive right into BOOST while learning C++?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The STL has some core concepts to it. Boost builds on and expands on them. If you understand them, then moving right on to Boost may be of use to you. If not, I would start with the STL.
vector,listanddeque, and associations likemap,setand theirmulti*andunordered_*varieties). Sometimes you can swap one for the other — sometimes you can’t. Know their strengths and their limits.copydiffers fromcopyspecialized forconst char *).bind1st,ptr_funandmem_fun): the syntax can obscure their utility.string— and when not to use it. (All string classes have tradeoffs: learning the pros and cons of the standard one is educational).The principles used to design the STL are built upon and expanded on by the Boost libraries. If you get them, Boost is manageable. If you don’t, and Boost ends up hard to follow, you can go back to the STL to get your bearings.
(In general Boost really pushes the boundaries of the language. If you decide you want to really push your own knowledge of C++, and test if you really know what you think you know then it can provide an interesting challenge. I’ve used C++ for more than a dozen years, have taught other people how to use it, have acquired proficiency in many more high-level languages since then and Boost still surprises me. It’s very useful, but its not trivial).