Hey /g/,
So I've been looking for a good C++ book for beginners, I do game programming as a hobby and since Unity shit the bed and GML is a crock of shit I decided it was time to learn the language literally every single other engine use: C++.
I got recommended "Jumping into C++" but the only version was released in 2013 and several comments suggest that it's already very outdated.
The two other promising (and modern) books I found were:
C++: The Ultimate Beginners Guide to C++ Programing
https://www.amazon.com/Ultimate-Beginners-Guide-Programing/dp/1540742121/ref=sr_1_1?s=books&ie=UTF8&qid=1482007375&sr=1-1&keywords=c%2B%2B&refinements=p_72%3A1250221011
and
C++: Beginner to Pro Guide (C++ Programming 2016)
https://www.amazon.com/Beginner-Pro-Guide-Programming-2016/dp/1540505588/ref=sr_1_4?s=books&ie=UTF8&qid=1482007375&sr=1-4&keywords=c%2B%2B&refinements=p_72%3A1250221011
Either of these look good, or are there any /g/entlemen here with a better recommendation?
Just to give you an idea of where I'm at, I would say early/mid-beginner. Took a Java100 uni course that also covered basic CS principles, messed around in Python, C#, and GML(lol) for a year or two. Most of these books seem to be designed with "complete beginners" in mind but reviewing the basics or burning through a few easy chapters before getting into the meat of it isn't a problem.
>>58048915
if you need anything other than the documentation your literally a brainlet
>>58048915
sticky
don't waste money
>>58048959
Will documentation explain to me in detail how classes work, data and memory management, etc.?
>>58049164
yes
http://devdocs.io/cpp/
>>58048915
>this foul year of our lord, two thousand and sixteen
>not using a copy of the standard to learn C++
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf
>>58048915
https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
>>58048915
>C++: The Ultimate Beginners Guide to C++ Programing
>98 pages
>last topic covered is arrays
It's like someone just publish a website's quick guide to C++.
>C++: Beginner to Pro Guide
>104 page
>like the above but also has file I/O, strings, namespace, and basic class info
How the fuck can he say "to Pro"? Better title would be "know nothing to absolute beginner".
>Took a Java100 uni course
Protip: Do not shoehorn classes and inheritance into every program if it doesn't make things easier for you (which it usually doesn't)
>So I've been looking for a good C++ book for beginners
There's no shortcuts in learning. You're going to have to read a book with over 900.0 pages:
Programming: Principles and Practice Using C++ by Stroustrup
C++ Primer by Lippman, Lajoie, and Moo
Then get a book on data structures and algorithms because you're going to need that knowledge:
Data Structures and Algorithms in C++ by Drozdek
Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching by Robert Sedgewick
>>58048915
those two books look like a fucking rip off. look at all the reviews. so similar. obviously all faked with the buy/review/refund scam to get a verified purchased review status. they are all from the last few days and aint no programming book gonna sell that much and have people read it in such a short time frame from release. also both books have almost identical layout (look at the back covers, the barcode section specifically).
so avoid those books. jumping in c++ is a good book. a bit dated sure but still a good book. or get something from the stackoverflow link someone else posted
>>58049854
>>58049700
Thanks for helping me avoid that landmine
What would be the cutoff point for a C++ book being "too old"? I'm inclined to go with "Programming: Principles and Practice Using C++" or something else by Bjarne from the stackoverflow link simply because he's the guy who made the language.
>>58048915
>and since Unity shit the bed
It's the same like it's always been. how did it shit the bed now more than any other time?
>>58050039
The update to their subscription model pissed off a lot of people and their recent 5.0 updates have been unoptimized and buggy as hell.
>>58050067
>The update to their subscription model pissed off a lot of people
What changed? Looks like it always did to me.. But I can't remember any details
>>58050006
C++ is split into two main eras. Everything before C++11 and everything after it.
Now what you want to code is C++11 and later as it is a much nicer language overall. However there is still a fuck load of pre-C++11 code out there and the reality is you need to understand things in that old code so you cant avoid learning about the old ways as well.
basically you want to write new code in C++11 where possible but you need to understand pre-C++11 to work with old libraries and codebases.
Programming Principles and Practice is a solid book although hard going. If you already have some experience programming then check out C++ Primer by Lippman and Moo. It is a more comfortable read IMHO.
as for books being too old i personally think learning from a good old book is better than a shit new book. like i said you are gonna need to know the old ways as well as the new so it doesnt matter much imho. people who say only learn C++11 probably dont write any real world software
>>58050093
So for example if I'm not doing all of my code by myself but using a game engine that supports C++, I would want to write code in C++11 but chances are the engine's libraries are at least partially written in pre-C++11?
>>58050086
Basically they screwed everyone who went for the "$1000 single-time purchase" option and they obnoxiously blocked certain important features behind a paywall. There were a number of other complaints but I don't remember them off the top of my head.
>>58050378
>Basically they screwed everyone who went for the "$1000 single-time purchase" option
pretty shitty
Any opinions on this: http://www.learncpp.com/ ?
>>58050378
correct. where possible you will want to write C++11 as it is just a lot fucking nicer than C++98. However there are times/places when you wont have the choice and will have to go with 98 due to stupid shit like the code only being able to compile with a certain compiler version which is from 2002 or something shit like that.
>>58050442
its an ok reference. so is cplusplus.com
>>58050442
Web resources should only be used as a quick reference. There are no replacements for books.
>>58050093
>Programming Principles and Practice is a solid book although hard going. If you already have some experience programming then check out C++ Primer by Lippman and Moo. It is a more comfortable read IMHO.
These are solid recommendations. Coming from other languages I still went with strousops book. It actually taught me the fundamentals and principles of C++ and the idea behind std lib even though many chapters could be skipped if I wanted to.
Which Boost libraries would you consider important to learn? Filesystem and ASIO are obvious, but what else?
>>58050880
I'd use std lib for everything where there is a std lib. ASIO is pretty good but I'd probably use ZeroMQ or nanomsg with protobuf work networking applications. The command line parameter one is nice to pass options to a program.
I wouldn't spend too much time diving into libs if I didn't intend to use them though. Qt is pretty nice if you want a .net similar framework. Just don't abuse it and infest your code with it.
>>58050006
>What would be the cutoff point for a C++ book being "too old"
Pre C++11
>>58050378
>I would want to write code in C++11 but chances are the engine's libraries are at least partially written in pre-C++11?
Nothing was removed or changed, so compatibility isn't a problem.
>ref=sr_1_1?s=books&ie=UTF8&qid=1482007375&sr=1-1&keywords=c%2B%2B&refinements=p_72%3A1250221011
>ref=sr_1_4?s=books&ie=UTF8&qid=1482007375&sr=1-4&keywords=c%2B%2B&refinements=p_72%3A1250221011
You don't need to post url query arguments in links. Cut them off.