C++ Primer 5th edition is what I've been reading this summer since I got out in April. The language is usually pretty friendly but can often times require me to reread paragraphs multiple times to understand what he's saying. I've tried to learn the language with various online methods but nothing has stuck for me like going through the textbook, doing the exercises, and practicing the concepts in mini-programs to make sure I understand them.
Now that you have an understanding of what things programming can do, I'd recommend taking a deep dive into some of the fundamentals. Reading something like https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113 will give you a deeper understanding of what's going on under the hood. While you may never use deeper knowledge directly, it can help you think about solutions in a new way.
The C++ Primer is an outstanding book that not only teaches you how to program in the language, but also explains why the language works like it does. It makes the language much easier to grasp when you know the "why" behind some of the choices.
I basically read the majority of this textbook from front-to-back. Normally, reading a textbook isn't necessarily the best way to learn a programming language but C++ might be an exception. It is pretty important to learn stuff in the right order when learning C++, otherwise you will have no idea what certain things are doing.
I don't think you necessarily need to use a textbook specifically, but I don't think the approach of just starting a project and randomly googling how to do things will work well with C++ (whereas this is mostly a perfectly fine way to initially learn Matlab or Python for example).
Eu recomendo esse livro https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113/ref=mp_s_a_1_1?crid=3B9HTSALQLXPC&keywords=C%2B%2B+Primer&qid=1645273047&sprefix=c%2B%2B+primer%2Caps, mas infelizmente o preco subiu mt.
Acho melhor procurar fontes alternativas.
As you have a bit of programming experience I think you should get C++ Primer by Stanley, Lippman et el.(5th Edition!) and go through it.
That book was extremely useful for me and is one of the most recommended books for C++/code at StackOverflow too.
The C++ Primer has a great section on templates and template specializations. I used to code in C++ and did lots of templates. I highly recommend this book if you're going to continue coding in C++.
This is a question for /r/cpp_questions, not /r/learnjava...
That said, C++ Primer is the go to book for C++.
Also, java and C++ have very little in common other than primitive OOP concepts.
Most of C++'s learning curve is related to memory management, something you pretty much never have to deal with in Java...
i think sicp or i guess intro lin alg. One more book would be a general programming book, something like: c++ primer
I guess I'd start with c++ primer or sicp. I don't know if c++ primer is the best first programming book. To be honest I started with C for dummies. People will probably laugh at you if you tell them you learned to program from C for dummies but it worked for me.
actually, yeah maybe I do. I was referred to this. but assumed this one was a newer edition.
so is the one I just linked a good book then?
Can confirm as I'm currently learning C# and the Unity game engine and I'm very close to releasing my first game now. Just about all my programming has been self-taught or alternatively I've chatted with other programmers about how to put in certain game mechanics.
I highly recommend C++ Primer 5th Edition if anybody is looking to get into programming because it has a huge glossary of all programming terms among other things and you'll actually understand a conversation you're having with a programmer if you get it.
http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/0321714113
> And I'm actually not reading a book. I probably should, honestly. I looked up basic syntax, pointers, and other things and just started going right at this project.
You're wasting your time. Get C++ Primer.
Holy shit, £200 off? Don't even bother with it, especially if they are charging you that much.
In fact buy this instead for £44 and learn on your own, you'll save a lot more money and you can just go on the internet and ask questions if you're really stuck and other people will recommend you much better courses.
Contains lots and lots of information and even has a glossary at the back filled with programmer terms so you'll actually understand what's going on, over 1000 pages of it.
I personally used this book. You won't become a C++ expert just with this text, but you'll have a great baseline level of knowledge with it. Of course one has to ask if anyone is a C++ expert... Bjarne Stroustrup rates himself 9/10 at it and he invented the language.
I definitely recommend C++ Primer. I'm just starting out learning C++, and the primer does an absolutely amazing job teaching me. The exercises section at the end of each chapter are particularly helpful.
I have no suggestions myself, but you might be interested in StackOverflow's Definitive C++ Book Guide and List. This is a list of C++ books maintained by members of the StackOverflow C++ community, and from what I can tell, most of the books are quite high quality. Hope this helps.
For someone with no previous programming experience, they recommend:
C++ Primer (not to be confused with C++ Primer Plus by Prata) (Stanley Lippman, Josée Lajoie, and Barbara E. Moo) (updated for C++11) "Coming at 1k pages, this is a very thorough introduction into C++ that covers just about everything in the language in a very accessible format and in great detail. The fifth edition (released August 16, 2012) covers C++11."
Programming: Principles and Practice Using C++ (Bjarne Stroustrup, 2nd Edition - May 25, 2014) (updated for C++11/C++14) An introduction to programming using C++ by the creator of the language. A good read, that assumes no previous programming experience, but is not only for beginners." Note: The new paperback version of this is incredibly expensive, probably due to it no longer being stocked by Amazon. I was able to find a slightly cheaper copy at Barnes and Noble.
I agree and disagree with /u/jwinf843. He's right that you can make professional games that do well with GMS. It's still very powerful and Hotline Miami is another good game to add to his list. However, I feel like those are the exceptions. There's also a guy who makes a lot of really cool 3D games with Game Maker, but he's really good and could probably do the same thing in Unity or Unreal in a fraction of the time but it's about the journey not the destination for him.
To answer your question, the biggest gripe I have with GMS2 is that there are no member functions. This leads to code being hard to organize and read at a glance. You can create scripts in GMS that work like functions but they're all global in scope and there's only one function per script. This means there's either a ton of scripts or you have all the code inside the events of your object. Conversely, in Unity, I just create a script and then I can place any functions that are relative to that script inside of it and then attach it to a gameObject. If I look at that gameObject, I can see which scripts are attached to it and go straight in and edit them or I can choose to find the script from the resources tab. in GMS there's no way to see at a glance which scripts my object is using.
My second biggest complaint is that there's no built in UI functions. You just create your UI elements like you would any other object and you tell GMS how to draw them. It's fine for your basic stuff, but if you're trying to set up a responsive UI or things like a scrollable window, it takes a TON of planning and little tricks to get it to work right.
That being said, I'm not trying to shit on GMS. I think it's an invaluable learning tool and if you want to try out a mechanic to "find the fun," GMS can usually get you a prototype up and running within hours. I just think the polish in GMS is brutal to get right.
My advice to you if you're new to programming is to buy this book and learn the basics of C++ first. This book is incredible. It will give you a strong foundation in coding in general that you can then take and apply to everything in the future - I've seen a lot of people just jump straight into Game Maker and they get into terrible habits and will find things get really confusing before long because they don't have any background as to how the computer is processing their commands.
After you get far enough into the book where you feel comfortable with programming C++ console programs, try creating some basic games in GMS so you can get used to working inside of a game loop and see how objects can interact. Start very simple: most simple games have a few aspects to them that are way more complicated than you'd think.
After that, download Visual Studio and follow this tutorial that will walk you through creating a game from scratch using Visual C#. It can get kind of confusing at times, particularly with the inventory system, so plan on rereading and cross-referencing quite a bit.
From there, follow an official tutorial for Unity and try a simple game there, I thought their Zombie Conga game was really well done to get you used to working with Unity, and then I think you should have a pretty solid background to allow you to choose what feels best for you :) Best of luck!
Do you already know how to program?
If not, then read Structure and Interpretation of Computer Programs.
If yes, then get C++ Primer by Lippman.
I've been looking for courses online that I can enrol in. Using websites like:
www.udemy.com www.edx.org www.coursera.org
So potentially you might be able to start there. I do remember back from my studying days there were a couple of books that really helped me out.
Sam's Teach yourself C++ In 1 hour a day 8th edition
I hope that helps.
Ey, does Amazon work in your country?
If so: https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113
If not, let me know
Read this book and don't worry about the header files, you will learn about the important ones as you go.
https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113
C++ Primer still holds good for the basics to this day IMO, even though it's 10 years old.
https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113
> Bestselling Programming Tutorial and Reference Completely Rewritten for the New C++11 Standard
Consider it an entirely different book.
说明看的书没啥用。
给你推荐个有用的:https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113
Item | Current | Lowest | Reviews |
---|---|---|---|
C++ Primer (5th Edition) | - | - | 4.4/5.0 |
A Tour of C++ (C++ In-Depth Series) | - | - | 4.8/5.0 |
Introduction to Algorithms, 3rd Edition (The MIT… | - | - | 4.5/5.0 |
^Item Info | Bot Info | Trigger
O sursă ok pentru C++ modern este learncpp. Te ia pas cu pas și în general e bine văzut acest tutorial.
cppreference nu e tutorial, e o referință. Este super util, când vrei să cauți ceva din limbaj ca să vezi ce funcționalități are aici e locul în care mergi. Bonus că pentru multe chestii au și exemple.
C++ Annotations e altă sursă bună și actualizată pentru C++ modern.
Dacă preferi cărți: - C++ Primer, 5th ed. - A Tour Of C++, 2nd ed.
Iar în general, pe CppCon sunt foarte multe talk-uri extrem de interesante pe diverse topic-uri din limbaj și nu numai. Multe nu sunt neapărat specifice C++ și acoperă subiecte de interes general din Computer Science.
Totuși, ține cont că toate astea sunt pentru a învăța limbajul, dacă vrei să înveți algoritmică nu trebuie neapărat să știi mare lucru din limbaj(dar tot recomand să te uiți prin resurse), pentru asta poți să exersezi pe infoarena/leetcode(și poți citi cartea asta, care e introducerea standard). Și, evident, ca să înveți cum trebuie limbajul eu recomand să faci și mici proiecte cu el ca să te lovești de probleme și să încerci să le rezolvi, în experiența mea așa se solidifică lucrurile învățate.
C++ Primer https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113
C++ απο τον ίδιο τον Stroustrup (δημιουργό της C++) https://www.amazon.com/C-Programming-Language-4th/dp/0321563840
Όπως είπε ο /u/Long-Double μάθε καλύτερα πρώτα C. Το να μαθαίνεις C++ είναι σαν να μαθαίνεις να τρέχεις και μετά να περπατάς.
Η C++ έχει αντικειμενοστρέφια, πολύ δύσκολο τρόπο διαχείρησης, είναι από τις πιο δύσκολες γλώσσες εκεί έξω (για να γράψεις σωστά, με καλές πρακτικές και καθαρά).
Η C δεν έχει ούτε αντικειμενοστρέφια ούτε πολύ περίεργες ή βαριές τεχνικές/πρακτικές και μαθαίνεις πρώτα τα βασικά - πως να διαχειρίζεσαι pointers, τις συναρτήσεις, τις μεταβλητές, compiler. Μαθαίνεις δηλάδη πρώτα τα βασικά χωρίς να γίνεσαι overwhelmed με όρους που δεν χρειάζεται ακόμη να μάθεις.
Beginner Generic Tip: Το να μάθεις μια γλώσσα δεν σημαίνει να μάθεις την σύνταξή της - αλλά πως να γράφεις σωστά σε αυτήν, να μάθεις την κοινότητα πως λειτουργεί, ένα σημαντικό μέρος των βιβλιοθήκων Βιβλιοθήκες = εργαλεία, είναι βασικό να ξέρεις τα εργαλεία της δουλειάς σου και πότε να χτίσεις τα δικά σου εργαλεία. Point is - μην σχηματίσεις την εντύπωση ποτέ ότι επειδή ξέρεις την σύνταξη μιας γλώσσας, ότι ξέρεις να γράφεις σε αυτήν. Είναι ένα καλό tip για κάθε beginner, γιατι βλέπω resume που έχουν 15 γλώσσες μέσα και τελικά δεν ξέρουν να γράφουν σε καμία :P
C++ Primer 5th је солидна. Мислим да не би ребао да трошиш време на књиге које су написане пре C++11 стандарда.
(for reference: https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113#reader_0321714113 -- pages 63-65 define what they mean by "top level const" and "low level const", pages 68-70 talk about auto
)
Okay, at least I understand your question now.
IMO they are presenting this in a rather confusing way.
When you specify the type as just auto
, you get the type of the value of the RHS. So, for example:
int i = 0;
const int ci = 1;
auto a1 = i; // <-- a1 is an int
auto a2 = ci; // <-- a2 is *also* an int, not a (const int)
That's what they mean by "[ignoring] top level const"; the value of ci
evaluates as an int
and so a2
doesn't copy the const
ness of the variable ci
.
But if you ask for a reference, what they're calling the "low level" const
ness of the referred-to thing carries through:
auto &a3 = ci; // <-- a3 is a (const int&), a reference-to-a-const-int
Pointer types also keep the "low level" const
ness of the pointed-to thing, but not the "high level" const
ness of the pointer itself:
const int* p1 = &ci;
const int* const p2 = &ci;
auto a4 = p1; // <-- p1 is a (const int*)
auto a5 = p2; // <-- p2 is also a (const int*), since that's what the value of p2 evaluates as
https://en.cppreference.com/w/cpp/language/auto and https://en.cppreference.com/w/cpp/language/template_argument_deduction#Other_contexts give a more precise (although hard to fully understand) explanation of it.
You can make that happen!
Here's everything you'll need:
https://github.com/Cxbx-Reloaded/Cxbx-Reloaded
https://visualstudio.microsoft.com/downloads/
https://amazon.co.uk/dp/0321714113/
Good luck!
Thourough youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb
Concise: https://www.youtube.com/playlist?list=PLGLfVvz_LVvQ9S8YSV0iDsuEU8v11yP9M
Advanced youtube.com/playlist?list=PLs3KjaCtOwSZ2tbuV1hx8Xz-rFZTan2J1
Little older: youtube.com/playlist?list=PLAE85DE8440AA6B83
In 2 hours: https://youtu.be/6y0bp-mnYU0
In detail cppreference.com godbolt.org (Compiler Explorer, check out how C++ translates to machine code)
Books: C++ Primer https://www.amazon.com/dp/0321714113
A tour of C++ https://www.amazon.com/dp/0321714113
>,I just got into C++ and I want to start learning it
Why did you decide to get into C++?
​
>What is the best way I can learn it?
Books: CppPrimerBook A Tour of C++
Youtube videos: CppTalksExample
BackToBasics: CppConBackToBasics
Join and Learn C++ projects/exercises: CppPrimer Book exercises
This is the first place you should look when looking for a new book. I recommend C++ Primer as it's what I used and I found it really thorough.
As a beginner you might be confused at the fact that there are different versions of C++. These should not concern you too much at this point. Just make sure that whatever book you do end up picking covers C++11 or later.
This book -> https://www.amazon.fr/C-Primer-Stanley-B-Lippman/dp/0321714113
These channels - > https://www.youtube.com/channel/UCQ-W1KE9EYfdxhL6S4twUNw , https://www.youtube.com/user/CalebTheVideoMaker2, and the 3D buzz "software engineering with c++", its now free and you should find a torrent pretty easily.
I'm learning too, and I find these resources very helpful and understandable.
> I know that the general consensus is that you need to learn from a book , but those are like 800 page behemoths
Here's a thing - C++ is a hard language with plenty of ways to accomplish the same task , generally used for high performance applications. The primary reason books are recommended is that you:
Frankly if you want to "build cool stuff" I would stick with Python for the time being and try building something fun with it. You can use it for just about anything ranging from websites to video games. If you really need to learn C++ (do you tho?) - how about https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113?
tbh there isn't one. There is cppreference.com but that is a reference not a tutorial. You want a good book such as C++ Primer
it has a lot of beginner concepts, basically telling you why programmers do this, and that.
I would suggest C++ Primer as well
Making an .exe file has two parts, compiling and linking. Both of these things work to pull all the files listed into one exe. If you don't include your object files into your main, even if they compile they won't link unless you specify it. Usually including is enough.
And if you are able to buy a text book I recommend C++ Primer. It's a really good resource and goes through so much detail. Another really good resource is this guy.
So I understand what /u/WeRelic means by saying you should try some smaller projects - but I don't think they have to come first. I'd say do them concurrently.
My learning C++ assignment was making a slicer (stl to gcode processor) at work. But, a huge chunk of my learning C++ was done at home by working on personal projects after work.
I'd recommend C++ Primer as the best beginner book for learning modern C++ (it only covers C++11 really, but this is where most of the big changes occured), followed by Effective Modern C++ for covering C++14 features. C++17 features are harder to find info about, and the only thing I can immediately see being useful for you is the Filesystem experimental stuff. The best thing you can do for yourself, imo, is leap right into using Modern C++ features as using old ones can build bad habits.
First, I'd say you should write yourself some kind of software design document. Don't make it super serious, but start setting some kind of scope for your project, a few key requirements, and lay out your architectural design visually a bit. Consider reading things like "Clean Code" - this has been a favorite of mine lately, and has instilled some better habits in me that don't just "feel" good: they've had a direct effect on making my code easier to maintain, understand, and test. Building these habits early is great - things like learning to use smaller methods with apt names instead of huge methods with lots of comments and greeble is a great habit to pick up asap.
When it comes to looking for windowing, rendering, and UI libraries I've enjoyed using GLFW, OpenGL (vulkan now, but don't start with this lol), and ImGui for the GUI. GLFW just works. OpenGL is easy to pick up - but you may want to look at a higher-level rendering library if learning graphics programming isn't for you (if it is, http://learnopengl.com is a great resource). ImGui is an immediate-mode GUI, which is a way of writing GUI's that isn't like shooting yourself in the foot repeatedly. It makes adaptive, functional, and easy-to-expand GUI's so much easier to write. And ImGui has a great developer and excellent community that has created several useful addons.
Also, all the learning and reading in the world isn't going to be great if you don't get out there and code. Ultimately, what matters most is that you just keep programming, improving, and developing your skills as much as possible. Constant work got me from part-time making an application to completing that application and getting a full-time offer (which let me drop out of school, thank god). C++ is a tough language because it's feature dense: nowadays we're lucky that it's dense with excellent features that can make your life loads easier (e.g I just learned about std::valarray
). Think of some other projects that interest you, big or small, and try to make some progress on those too.
Further, consider getting design and code inspiration from open-source projects. Synthesizing and re-writing code that other's have written (even if you're just transcribing it, really) is still a great way to learn and expose yourself to software design and development practices, and lets you see how other's use C++.
Consult The Definitive C++ Book Guide and List and pick a book. There is no better way to learn C++ than through a book. I personally recommend C++ Primer to learn the basics of modern C++, from functions and classes to templates, OOP, and the standard library.
After reading such a book, you have many options available. You can supplement your understanding afterwards by reading the Effective Series to establish good practices and follow idiomatic C++.
You can subscribe to isocpp.org for a wealth of material relevant to C++. You can watch videos from CppCon, C++Now (aka BoostCon), Meeting C++, ACCU, and many more talks that are on YouTube. Subscribe to cppchat, CppCast podcast, and Meeting C++ Live to hear about how and for what people are using C++.
Lastly, you can join the C++ IRC channels on freenode or the cpplang Slack team for discussions, arguments, teaching, learning, trolling, and everything about and not about C++ 24/7. If you have any questions along the way, you can ask in those channels, or over on /r/cpp_questions. And of course, you can subscribe to /r/cpp. :)
Look through The Definitive C++ Book Guide and List for good options. "A Tour of C++" sounds like what you are looking for, but by nature, it can be too brief or dismiss some important subjects (no mention of lambda expressions, for example).
I love to recommend C++ Primer + the Effective series (get all four if you can!) for a thorough, detailed, and well-rounded group of books for learning modern C++. Primer covers all the basics of modern C++, from variables and functions to templates and OOP, and the Effective series covers good, idiomatic C++ design and practices. You do not need to worry about missing out on C++14 by reading books on C++11; most of what C++14 (and even C++17) introduces builds on top of what C++11 offers. Once you become comfortable with C++11 and familiar with modern C++ practices such as using const
whenever possible (Effective C++, Item 3) and using smart pointers in place of owning raw pointers (Effective Modern C++, Items 18-22), the changes introduced in C++14 will appear to be natural enhancements to the language you've learned (generic lambdas, function return type deduction, user-defined literals for standard library types, etc).
Stanley Lippman's book, https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113, is pretty good don't know what you did there.
<em>[How am I doing?]</em> <em>[Want a bot?]</em> <em>[info]</em>
C++ Primer is worth the money
I don't know much about C++ certification but C++ primer is a REALLY good reference book for C++.
To my knowledge, certifications to some companies may not matter but there is definitely no downside of picking up official and recognized certificates. Imo, I wouldn't bother and spend money on "official" certification websites. A lot of people have told me in the past to work with people on open source projects. https://github.com/trending?l=c Build connections and a following.
Depends on what you mean by "useful." Each language has its strengths and weaknesses.
Python is great if you want to make programs to do things for yourself. For instance, if you want to start solving problems on /r/dailyprogrammer, Python is probably your best choice. If you want to learn how to make high-performance software (games, scientific applications, embedded systems), then C++ is the better choice.
You might also want to consider Java. If the speed of the application isn't important, I think Java is probably the easiest language in which to start building scalable applications. But generally speaking, software written in Java will be slower that software written in C++.
I've been learning C++ by going through C++ Primer, watching YouTube videos, building basic OOP programs (a coffee stand, for instance), and just recently started doing /r/dailyprogrammer exercises. But I don't think there's any consensus on the best way to learn C or C++. It might not be a bad idea to start with C, at which point you could try CS50 on EdX.
and
Seems to be a great combo. I did some research.
Like others have said, look at the FAQ for the list of recommended books. I recommend the C++ Primer 5th editon. Just don't get this book confused with C++ Primer Plus which has some bad reviews. There was a thread about it earlier actually here.
If you have time to study, try this: http://www.amazon.ca/Primer-5th-Stanley-B-Lippman/dp/0321714113/ref=sr_1_1?ie=UTF8&qid=1434982343&sr=8-1&keywords=c%2B%2B+primer
You can use the ToC to work up to the point where you have equivalent knowledge of your "Part 1" course and use the remainder as a supplementary textbook for your "Part 2" course. It does use a top-down approach, however, which is non-standard for most schools AFAIK so you may need to jump around a bit.
When you're writing larger programs, you can use this as a reference: http://www.amazon.ca/The-Standard-Library-Tutorial-Reference/dp/0321623215
I found that the hardest part of getting through a "Part 2"-type course was the lack of practice problems. Once you're done with the Part 1 stuff, you can PM me and I'll try to dig up a series of homework questions that a professor and I came up with some time ago. These were really nice - each built on the previous question and taught OO programming, beginning with the design of simple classes and ending with generics and polymorphism.
If you are in a real hurry, you can use this: http://www.amazon.ca/Accelerated-C-Practical-Programming-Example/dp/020170353X/ref=sr_1_1?ie=UTF8&qid=1434982719&sr=8-1&keywords=accelerated+c%2B%2B and then read just the parts of C++ Primer that are marked "C++11". Note that Accelerated C++ is VERY dated, so someone else here may be able to offer a better suggestion.
edit: I wouldn't use Arduino to learn C++
I would strongly advise you again C++ Primer Plus if nothing significant has changed since the 4th edition. StackExchange advises against it and this ACCU review states why it's a bad idea. Perhaps /u/kwhittington can tell us if the 6th edition of the book has the same pedagogical issues the 4th edition does. It would be great if it didn't, Prata's C book is very good, and it would be great to have a C++ book from him that finally lived up to the quality of his C book. Here's hoping the 6th edition is great.
My suggestions:
I would suggest Lippman, Lajoie, Moo C++ Primer 5th Edition and Scott Meyers Effective Modern C++
The 1st book uses a pedagogy similar to Alexandrescu's and includes much of Meyer's Effective series. The 1st book will teach you to actually write code that is good code in C++ and not code a C programmer thinks looks good in C++. If you know who Lippman, Lajoie, and Moo are, it's insane we could be so lucky as to have them write a book together and then on top of it, for it to turn out so well. The 2nd book is from Meyer's, no explanation needed.
The path kwhittington gave you is really good advice, as long as that 6th edition is a significant improvement over the 4th. The books he suggested are according to an older standard, so the benefit of taking his path is that if you are going to be maintaining older C++ code, they'll prepare you well. The benefit of taking what I suggested is that you'll learn C++ for what it has currently developed into. That's a bit wordy, but I purposely didn't say modern C++ because those books he listed helped establish what modern C++ is in the industry.
Good luck. It would help to know whether you are a new programmer or not. If you are new, a novice, or haven't fully immersed yourself in programming yet, I would actually suggest you go through HTDP first. Systematic Program Design. This is going to teach you fundamental concepts of programming. JAVA programmers who took a similar HTDP course in their first semester and then took a JAVA programming course in their second semester, outperformed those you had 2 full semesters of JAVA. The reason why, is this gives you the necessary mental framework and methodology to comprehend and problem solve when you code. Not everyone likes HTDP, but if I had to guess, many of them are probably those who had a good foundation in problem solving when they started, or were already creating programs at a younger age.
As far as programming goes, if you already have a bit of C under your belt and are looking to develop your C++, I found the C++ Primer very useful. Granted, I've only ever read an older edition, but I doubt they've made it worse. There's also an occasionally updated list of good C++ books. Sorry I can't help you much with the other aspects of your question.
Specifically this book, http://www.amazon.com/dp/0321714113/ref=cm_sw_r_tw_dp_fAx1ub0H9R5RP
Not to be confused with this book, http://www.amazon.com/dp/0321776402/ref=cm_sw_r_tw_dp_7zx1ub08S20KK
Awesome! This is the book right?
Doing tutorials was just the very first steps, but I'm interested in learning it in much better detail, thanks a lot!
C++ Primer 5th edition is C++11, and uses it idiomatically throughout. Recommended. http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/0321714113
I found the books C++ Primer ( https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113/ ) and C++ Primer Plus ( https://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/0321776402/ ), no relation, to be great resources for learning C++. They are a little older now, so covering C++11, but if you are just starting out that is fine, since most of the core concepts have not changed in the last few years (and most of the new features are more advanced anyway).
C++ is a very large and complex language, and you are almost certainly not being taught by someone that knows much about it. If you really want to learn the language, you should invest in a good text book, such as C++ Primer, but you should be aware that learning it as a first language (which basically seems to be your case) will be tough. Also, you can do audio processing in other, possibly more friendly, languages such as Java.
Completely agree. I'm currently trying to get through C++ Primer myself. I tried to find a "Learn C++ the Hard Way" tutorial, but turns out, that's the only way.
EDIT: Woops, you guys are right. Link fixed.
Find a good c++ book (I recommend C++ Primer) or online resource and skip to the chapters dealing with classes, memory allocation (new and delete operators as opposed to malloc and free), function overloading, references (& operator) and the scope resolution operator (::).
That should be a good start, while looking at these resources you'll probably see other stuff you are unfamiliar with.