Looking for reference books

Pages: 12
So I was offered a book of my choice and I believe I'm going to pick Stroustrups's The C++ Programming Language (Special Edition) since it's hardback and a fairly recent book. His 4th edition is coming out in January of next year, but I'm impatient and dislike that it's only going to be released in paperback (It'll go through hell and back) so I believe I might pass on that. But since C++ (Sp. Ed.) doesn't include C++11 features, I was wondering what suggestions you guys have for a good solid C++11 reference guide would be.

If you have a better alternative than what I mentioned, please state why it's better. I'm very open to suggestions, but this is what I've been leaning towards the most over the last month.

Thanks for your input guys.
What would you need a C++ reference book for? I have The C++ Programming Language (SE) at my desk. I've only had to refer to it for the order of operations. That was it. Trust me, you don't need it.

If anything, get API Design for C++, C++ Coding Standards, Exceptional C++, Generic Programming and the STL, or Design Patterns and refer to one of them...
Last edited on
+1 moorecm,

Reference books aren't really needed anymore, with the internet and what not. Unless you wanna look cool with it sitting in your bookshelf. But for some reason, I do find the only thing I actually reference in a book is operator precedence.
Last edited on
I definitely want a C++11 reference guide mainly because the articles on it are very limited. I also figured it would be nice to have a book that's always close by look up. Plus I figure who better to read from than the creator? There is a lot of stuff I don't know about even the simplest functions and operations in C++ so I figure that it's better to have a reference guide. I also really like the convenience of everything in one spot, which is why a book is so important to me.

As for the online references, I feel that a lot of them are incomplete and since no one site that I've found thus far cover even all of the basics in depth, I find that I'm jumping between several sites just to find what I'm looking for, if I find it at all. I also want to learn more about the technical reasons as to why things work instead of just accepting them as working. My terminology is severely lacking as well, so it would be nice to actually learn the correct terms.
I have so many reference books that it isn't funny. Problem is I don't really use them, just sitting on the shelf collecting dust. Well, I am reading The C++ Programming Language Special Edition (but slow going and only on SS 5.4.1 Pointers and Constants).
Does it explain a lot in detail? Have you found you could read it front to back? Or do you use it more as a reference guide? That's the book I want, but I want to know what to expect. Also, how is the language in the book? Is it very technical, or does he try to explain it in simpler terms? I can imagine as you progress through the book, the language gets harder, is this the case?

Like I said, I'm just trying to have something as a reference, and something that will teach me when I decide to sit down and read it. Has no one found any good books on C++11 yet? I know it's still new, but the standard has been out for almost a year, with the C++0x being out several years earlier.
A good reference book is going to explain things in technical terms. Learning books will explain things in simpler terms. Just the nature of these things.
I just don't want something that is going to be so far over my head that I don't understand it. I already have a strong understanding of the language, but I want to learn more about how and why. Technical is good, as long as the words are easily enough understood. I've already accepted the fact that I might have to reread several sections just to understand what was covered, but I want something that covers thing's in depth.
Volatile Pulse wrote:
Has no one found any good books on C++11 yet?

No, it may be new and close to out for a year, but you have to remember that the book won't just cover C++11 features but all features of C++ and that takes a long time to write and edit. I'm actually reading Bjarne's book cover to cover now.
I'm just being impatient. I haven't had any C++ books since college and I missing having a physical reference guide at my finger tips. Granted, the internet will still be used, and I'll probably use them in conjunction with each other, but I love having books. I believe I'll go with the Special Edition.
Does it explain a lot in detail? Have you found you could read it front to back? Or do you use it more as a reference guide? That's the book I want, but I want to know what to expect. Also, how is the language in the book? Is it very technical, or does he try to explain it in simpler terms? I can imagine as you progress through the book, the language gets harder, is this the case?


It explains the C++ standard. In 100% technical jargon. Bjarne's words are extremely succinct and the book was written for professionals. I had to force myself to read it to get through it. It will not "teach" you anything.

Check out some of his Q and A on his site, it can be very useful:
http://www2.research.att.com/~bs/

For example, I usually refer to the part he wrote about calling C from C++ and calling C++ from C. Both use extern "C" in slightly different contexts.
Last edited on
Well then I guess my new question is, what should I be reading? I know a lot of basics, at least what they do, but not how, and definitely not why. I want something that explains into more detail what happens when you type some code. I also want something that will walk me through step by step what things like pointers do. I want to move to the next level of my understanding on the C++ Language.

I read a lot of code here that just loses me. I can't follow what is going on in some of them. But others, however, I can see the exact output of them. I love learning, and it might take me a while, but I know if I have a book in front of me, everything that I read will still be right there in the book. Unless you guys can point me to great online documentation, which I still believe I'd prefer it in book form anyways, I believe that a book is my best bet.

I google a lot of my questions since they seem so simple to me, and after I give up, I post here since everyone has been a great help. But I feel a lot of the things that I've been googling is mainly because I never learned it in depth.
You'll hear a lot of responses for this. My advice is to start here:

1) http://cplusplus.com/doc/tutorial/

2) Effective C++ by Scott Meyers

After those, ask the question again.
Well, you gotta realize that after a point, reading really doesn't do much. Yea, it may help, but it all comes down to actually getting down and doing it. You won't find a book or article about everything you may do. Hopefully, you won't actually. That's half the fun in programming, figuring out new problems.
I've gone through the tutorial here numerous times, a lot of things I just don't comprehend. And no matter how much I read it, it hasn't made any more sense to me. I understand pointers, but I still have a rough time with them. I've read a few different books from the library, but none have seemed to appeal to me. I think mainly because they all covered the same several sections and all had their own language about it.

And I agree with you to an extent ResidentBisuit, but I do feel that having a good reference guide for certain things is very helpful as well. Maybe I'll get around to one day making my own tutorial, and have others help me finish writing it. I've been helping others out, but I can only teach them what I know.
moorecm wrote:
It explains the C++ standard. In 100% technical jargon. Bjarne's words are extremely succinct and the book was written for professionals. I had to force myself to read it to get threw it. It will not "teach" you anything.


Maybe you didn't get "taught" anything from reading it, but I'm 5 chapters in and have learned quite a few things I didn't see covered in tutorials. His book is the first time I've ever seen anyone talk about a const pointer to a const.

 
const char *const cpc = s;
Last edited on by closed account z6A9GNh0
Doing some window shopping at amazon.com, I ran across this book:
The C++ Standard Library: A Tutorial and Reference (2nd Edition) [Hardcover]

I was wondering if anyone has read this yet. I was also wondering if anyone knows anything about the quality of the book. It seems to be a big hit, and it's no wonder why, it's for beginners, novices, and people who are trying to advance themselves overall. I couldn't believe the amount of information it covers, and I'm really hoping this isn't just a "too good to be true" situation, but it really seems like I stumbled upon something good.

I stuck between:
The C++ Standard Library: A Tutorial and Reference (2nd Edition) [Hardcover]
and
The C++ Programming Language (Special Edition) [Hardcore]

@moorecem
I read the information that Stroustrup has posted about his book, and he specifically says that it is designed to help those who have a good understanding of the language, understand more. I feel I fit into that category well enough. But when I think about a reference book, I think about quick look up and an explanation about how something works. The way Stroustrup explains this book is that it's more designed to be read like a novel. Learn the reasoning behind the code and how it works, which again, was something I was looking for.

Edit: I made an error while reading the description of the book. The C++ Standard Library IS NOT designed for novices, but rather those who want to learn the new C++11 standards. I've been reading the first few chapters and it's very interesting, but not in any way intended for new programmers.
Last edited on
Bjarne's book may not be new programmer friendly, but his is the best book to learn from. Section 1.1 Structure of This Book even says:

Bjarne Stroustrup wrote:

Introduction: Chapters 1 through 3 give an overview of the C++ language, the key programming styles it supports, and the C++ standard library.
Part I: Chapters 4 through 9 provide a tutorial introduction to C++'s built-in types and the facilities for constructing programs out of them.
Part II: Chapters 10 through 15 are a tutorial introduction to object-oriented and generic programming using C++
Part III: Chapters 16 through 22 present the C++ standard library
PartIV: Chapters 23 through 25 discuss design and software development issues.
Appendices: Appendices A through E provide language-technical details.


As I've said, I am only to chapter 5 and have learned more from his book than I have any other book in my collection. His book will "teach" you a lot, but it depends on the method with which you learn.
I guess you'll just have to see for yourself.
moorecm wrote:
I guess you'll just have to see for yourself.

Already have. I'm in chapter 5 and have learned several things I've never seen in any books (and I have a huge ass programming collection). The first that comes to my mind, due to just learning it the other day is a const pointer to a const const char *const cpc =s;. I've also learned a lot of advice, like that it is considered poor habit to load everything into the global namespace and the advice of doing const int NULL = 0; instead of assuming the implementation is done the same for each variant interpretation of the standard. I've never seen any of my books even mention this, or the C++ tutorials (nor any of the tricks online for that matter). Like I said, the book teaches you, just depends on the style of learner you are.
Pages: 12