• Forum
  • Lounge
  • Looking for a good Standard Library book

 
Looking for a good Standard Library book

I am looking for a good STL book, one that can explain things clearly and not make assumptions and not leave things unexplained. Hopefully one that can baby me as a newb.

I was looking at this one so far:
C++ Standard Library, The: A Tutorial and Reference 2nd Edition
https://www.amazon.com/Standard-Library-Tutorial-Reference-2nd/dp/0321623215/ref=sr_1_1?crid=2OZFFV7V4O33T&keywords=C%2B%2B+Standard+Library&qid=1650060249&sprefix=c%2B%2B+standard+library%2Caps%2C176&sr=8-1


I would also like a good book on programming examples, a program example in each category (file manipulation, text manipulation, container example address book,...ect). A how to on small but encompassing projects to practice on.

I would also love a good book on graphics programming, to be able to create photoshop type graphics and special graphics effects and manipulate 2d and 3D objects (circles, rectangles, tirangles, cubes, spheres...etc).
Last edited on
protoseepp wrote:
I would also love a good book on graphics programming

What is your OS?

Doing graphics will require a 3rd party library, C++ doesn't know squat about GUI or graphics or sounds/music, etc.

There are cross-platform libraries that can assist:

https://stackoverflow.com/questions/671395/a-simple-2d-cross-platform-graphics-library-for-c-or-c

If'n you are Windows, and want to do Windows-only stuff, there is the ol' GDI WinAPI. or GDI+. (Both are deprecated, but you can still use them.)

More modern WinAPI graphics libraries would be DirectX. 3D or 2D, depending on what you want to do.

DirectX has the advantage of being more than a graphics library, it can do sounds and music.

It ain't something simple to learn and use, though. Doing graphics is not as easy as command-line mucking around.

protoseepp wrote:
I am looking for a good STL book

http://kera.name/articles/2010/08/it-is-not-called-the-stl-mmkay/

The book you linked is about the C++ Standard Library, not the STL. You want to learn about the stdlib.

Also, that book is over a decade out-of-date, the C++ Standard has changed since 2012. I'm not saying it is a bad book, but out-dated isn't good.

Rainer Grimm has a newer tome about the C++ Standard Library, available as an eBook, and updated for C++20.
https://leanpub.com/cpplibrary

There's a 3 eBook bundle that is priced decently for what you are getting.
https://leanpub.com/b/modernccollection#bundle-page-cpplibrary
My OS is Win10, I don't need cross-platform. Although, it is always good to know about the best/top rated cross-platform libraries. I have gotten further in my C++ reading and it just dawned on me yesterday that I want to see something pretty & that I cannot even draw a circle. Need to see some color after getting to STL chapters, need a break and I thought there might be something built-in or widely used.

After some reading I see that GDI WinAPI is from the original Windows & GDI+ from Windows XP, and that most modern games are made from OpenGL < DirectX < Vulkan (order of difficulty to learn). I would imagine OpenGL is richer than GDI and I might just look into that first and slowly read it for fun and then I can draw some shapes.

I thought STL & Standard Library was interchangeable too. Apparently not, STL is a subset of stdLib, I got it.

Yea, the book is really old and that is what was worrying me. I had read a few pages and loved the way it was presented and wish the author had updated the book, but he is still stuck on C++11. I will check out Rainer Grimm's book.

The STL is not a subset of the C++ standard library. The STL might have inspired chunks of what became the stdlib, but it is not a subset. Later C++ standards took the framework of the STL and used it as a platform to build on.

Visual Studio has game development workloads/packages that can be manually installed to do game development. One workload is for Unity for cross-platform 2D/3D games, and another is for C++ game development using DirectX, Unreal or Cocos2d.

The optional workloads can be installed in an already existing VS install.
C++ Standard Library, The: A Tutorial and Reference 2nd Edition


I have that in my library, but am not a fan (I'm not keen on the way Josuttus writes - same with his other (e)books). It's also now outdated (by 3 versions!).

For a printed book, consider Mastering the C++17 STL (https://www.amazon.co.uk/Mastering-17-STL-standard-components/dp/178712682X/ref=sr_1_21?crid=19QY3GTXJRVHQ&keywords=c%2B%2B+standard+library&qid=1650381634&s=books&sprefix=c%2B%2B+standard+library%2Cstripbooks%2C78&sr=1-21)

It's only 1 version out of date!

For an up-to-date C++20 standard library book, consider the Grimm book mentioned in George's post above.
I have a friend who does programming. He told me that when he got a job in one company as an intern, he was constantly given to study information about some orders. He’s been downloading torrent books and says they have everything you need to write code. I think you need to find a programming book you’re interested in online and torrent it. Hope you find https://thepirateproxybay.com/ what you need there.
Last edited on
@protoseepp,

One book that is IMO excellent at teaching beginning C++ from the ground up using the C++20 standard is:

Beginning C ++ 20 : From Novice to Professional
https://www.amazon.com/gp/product/1484258835/

It is definitely a "keeper" IMO, with downloadable code examples from the book. My fingers and eyes don't cooperate at times when entering code from a book.

Each chapter has exercises that push the envelope of one's just-learnt C++ knowledge.

The code examples and exercises show real world application of what is being taught at each level.

There are two areas that divide compilers into the "quick and the dead." Their compliance for modules and std::format. The downloadable code examples have code that uses modules and a mostly partial repeat that doesn't use modules. They use #include.

If you compiler doesn't support std::format ATM, Visual Studio 2019/2022 does, the 3rd party fmt library is available. It was the blueprint for C++20's std::format implementation.

Similar to several Boost libraries being added to the standard.

I own several WinAPI game programming books I could recommend. From using GDI and the multimedia library to using DirectX.

None are current, they are several years old, but the technology they use is still relevant. I've gone through the code, tinkering around to use newer coding practices along with newer C++ features.

The GDI/MML games are quite fun to play, 2D side scrollers, and the books create a rudimentary game engine.
Last edited on
Topic archived. No new replies allowed.