PDA

View Full Version : What are your favourite C++ books?



eugen
5th January 2006, 23:17
Hi everyone!

Now I try to fresh up my C++ knowledge and look across by book shelf.
I 'm not completely satisfied with the C++ books I have here.

What are your favorite C++ books you read - and keep readind from time to time?

Eugen

JLP
5th January 2006, 23:33
I'm still a C++ newbie and I haven't read a lot of books about C++ yet. The book I liked the most so far was probably »Who's Afraid of C++«. It was a very nice and easy introduction to C++. If anyone knows of any similar or even better C++/Qt books for newbies just let us know.

jacek
6th January 2006, 00:27
What are your favorite C++ books you read - and keep readind from time to time?
My personal favorite is "C++ Primer" by Stanley B. Lippman and Josée Lajoie. I've learned C++ from it.


If anyone knows of any similar or even better C++/Qt books for newbies just let us know.
Try "C++ GUI Programming with Qt 3" by Jasmin Blanchette and Mark Summerfield. It's a very nice book to learn Qt3 from. You can download it for free from this site (http://www.phptr.com/title/0131240722).

Bojan
6th January 2006, 00:50
The C++ Programming Language by Bjarne Stroustrup.
Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3rd Edition by Scott Meyers

As for Qt related programming, the book jacek mentioned is pretty much the Qt book and its all you need, plus the docs :).

Bojan

graeme
6th January 2006, 01:00
A good reference is C++ in a Nutshell although it lacks the examples in the Lippman or Stroustrup texts the answers are right there.

katrina
6th January 2006, 01:25
The Qt3 book already mentioned is a MUST HAVE (I even PAID for it!) (They even had it at Barnes and Noble!)
of course when I got it Qt4.1 rc 1 was already out (and I wasn't going to start using an old version!) so I pretty much used it to just get an idea about HOW to use Qt since some of the syntax is a little different.

C++ In Plain English is a great reference book, especially for people moving from 'plain old' C to C++. (Which I did kicking and screaming, BTW and now would never go back) It touches on many topics but puts a lot of focus on object orientation and skims over things like int,long,float,printf,arrays,etc (eg. things you should already know unless you are completely new to this)

Not a C++ book, but the O'Reilly Pocket Reference on Regular Expressions is quite helpful even though it is REALLY meant for Java, C#, and PHP

Katrina

sunil.thaha
6th January 2006, 04:32
The Complete Reference - Herbert Schildt
And of Course the
C++ GUI Programming with Qt 3 - Jasmin Blanchette and Mark Summerfield

Thanks to trolltech for providing the ebook for free download.

kroenecker
6th January 2006, 05:33
Deitel produces thorough books about programming.

Once you have the basics down Effective C++ by Scott Meyers is essential :D

eXire
6th January 2006, 12:32
Hi

Begginers C++:

Bjarne Stroustrup
The C++ Programming Language

Advanced C++:

Herb Sutter
Exceptional C++, More Execptional C++

Andrei Alexandrescu
Modern C++ Design

Andrei Alexandrescu, Herb Sutter
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

Best Regards

tomek
6th January 2006, 13:16
Can someone recommend any position on Programming Patterns (preferrably with C++ examples)?
I've just found an e-book "Thinking in Patterns with Java", http://www.pythoncriticalmass.com/downloads/TIPatterns-0.9.zip .
But it would be nice to get something with C++ code!
regards!

jacek
6th January 2006, 13:27
Can someone recommend any position on Programming Patterns (preferrably with C++ examples)?
There can be only one answer ;)

Design Patterns. Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

PS. Recently a Polish translation was published by WNT.

quique
6th January 2006, 16:45
I am a complete C++ newbie, and I' m reading You Can Do It! : A Beginners Introduction to Computer Programming (http://spellen.org/youcandoit) by Francis Glassborow. I find it quite easy to follow for people without any programming experience (some knowledge of Python might help, though).

After getting the basics, I'll go on with Accelerated C++: Practical Programming by Example (http://www.acceleratedcpp.com/) by Andrew Koenig and Barbara E. Moo.

Afterwards I plan to read C++ GUI Programming with Qt 3 (http://www.phptr.com/title/0131240722) by Jasmin Blanchette and Mark Summerfield, and finally, as time permits, other advanced C++ books (Alexandrescu, Sutter, Meyers, etc).

yop
6th January 2006, 20:04
Schildt's C++ The complete reference
Meyers' Effective C++
Meyers' More Effective C++
Blanchette's & Summerfield's C++ GUI Programming with Qt 3

and qt assistant plus http://www.cppreference.com/

katrina
6th January 2006, 22:05
I am sure a lot of people don't agree with this next statement, but:

I would recomend to a new programmer to learn Java first, then C++. The high level of object oriented-ness is a good practice in C++ and it lets you learn HOW to program and how to think like a programmer without worrying about memory management (although Qt takes a ton of load off this!) and some of C++'s other "advanced" features. (plus the syntax a VERY similar)

I don't, however, know any good Java books... I learned Java b/c it is similar to other modern OO languages and I just read though the Javadoc's :-) and started coding away :-)

Katrina

wysota
6th January 2006, 23:01
I don't, however, know any good Java books...

"Thinking in Java"

Learning Java first can make people hate programming because Java is soooo fast :p

katrina
7th January 2006, 03:04
"Thinking in Java"

Learning Java first can make people hate programming because Java is soooo fast :p

LOL Yeah Java has to be one of the slowest frigin languages in the world... luckily most people nowadays are buying 300000GHz computers with 847583408MB RAM to check their email, use AIM, surf MySpace (http://myspace.com), and download illegal music so they can afford to use programs written in a language that should have taken their mascot from Logo. (until they get a couple virii and spywares 'cause that will eat up 299999.99GHz of their 300000GHz (Long live Linux))

Gotta give Java one thing though... it is WAY portable... I mean c'mon even the Blackberry runs Java! (actually the entire Blackberry OS is written in Java!)

(Hmmm I seem to have gotten off topic here... back to C++ books:)
ummm... I already listed all of the C++ books I have... LOL I guess I will stop now :-)

Katrina

wysota
7th January 2006, 06:19
Gotta give Java one thing though... it is WAY portable... I mean c'mon even the Blackberry runs Java! (actually the entire Blackberry OS is written in Java!)


Well, yes, if you don't count situations, when your program written in java version 1.x.y.z runs, but refuses to run on 1.x.y.z+1. Or runs on SUN implementation and refuses to run on MS "implementation" (or orther).

trochej
7th January 2006, 11:34
Hi everyone!

What are your favorite C++ books you read - and keep readind from time to time?

Eugen

H. Deitel, P. Deitel, C++ how to program, 2nd edition. I own Eckel's Thinking in CPP and Stroustrup C++ Language, which I got as gifts, but Deitel is my favorite. It most surely is understandable to economist which want's to convert from c99 to c++. ;)

Damian

trochej
8th January 2006, 10:21
Hi

Begginers C++:

Bjarne Stroustrup
The C++ Programming Language

Best Regards

I couldn't get through that book. Maybe it's because of poor Polish translation (it shows, that there was no linguistic editor), but I find it's language too convoluted to be easly understood.

Damian

fullmetalcoder
11th January 2006, 08:55
I took a rather strange way to learn programming:
- I started by C, when I 10 years old, I didn't understand anything and produced uggly spaghetti code
- then I learn z80 assembly and produced some pretty efficient code but I was fed up with hardware and..
- I came back to C++
code snippets and O'Reilly books helped me a lot

Java is fast??? :rolleyes: What kind of mental derangement do you suffer from? :D

GreyGeek
11th January 2006, 14:44
Tom Swan's
GNU C++ For Linux
http://www.amazon.com/gp/product/0789721538/002-1685207-7897637?v=glance&n=283155

GreyGeek
11th January 2006, 15:26
I am sure a lot of people don't agree with this next statement, but:

I would recomend to a new programmer to learn Java first, then C++.
...snip...

Katrina
I've had formal Java training. I hate Java, and not because it is too slooooowww, even with JIT.

While doing research into alternative development tools and platforms for my department, I tried Eclipse and JDeveloper using Java against our Oracle backend to create our "Homestead" application. JDeveloper was (is?) better than Eclipse, but dealing with Enterprise Beans and the like was a royal PITA. Almost without fail, when I wanted to add special functionality and drilled down into the methods, I'd encounter the base method which had a warning that it was generated automatically and any changes would be lost. So sad, because then I'd have to subclass the generator to add the functionality I wanted. My second big complaint was that once I got the app built it was too slow to be useful.

So, I tried creating the Homestead app with Boa_Constructor and Python, also against Oracle. I really LOVED that tool combo. It was 5-10 times easier to develop in it than in JDeveloper, AND it was 10 times faster than the Java app. The second BIG PLUS was that all files were ASCII, including the screens, making version control of the screens easy. But, alas, the fly in the ointment was that Boa_Constructor is an aggregate tool and when updating it almost invariably wxWindows, or Python, or some library was the wrong version. Boa has some warts, like all tools, but the development cycle on Boa was/is too slow to commit to it. When they can combine all the components into a single tool that results in better version control then Boa will be a tool to revisit.

My next test was with RealBasic, a proprietary tool that runs on both Windows and Linux. I tried it primarily because I used to program in VB and it is a good GUI RAD tool, if you connect to a fast backend. The RealBasic test ended RealQuick because it failed the tutorial test - if you can't get the tool to work following the tutorial then folks aren't tending to business. For a proprietary tool that is a fatal mistake.

My last test was with QT3.3 using the demo version for Windows. Using the bootk "C++ GUI Programming with Qt 3", learning QT 3.3 was easy, with the fine help of people who visit this forum. Even while learning the ins&outs of the QT3.x Designer, the development of the Homestead app was very quick, again thanks to the help of the folks on this forum. I was able to create the Homestead test app in about 5 to 6 weeks, while learning C++ at the same time. My boss was reluctant to consider QT for our department because he prefered Java and he heard "horror" stories about how hard C++ is too learn. He also had misunderstandings about garbage collection (memory leaks) in C++. After my boss saw my demo app, learned that QT controls garbage collection, and visited the QT website to view their demo video, he approved the use of QT in our department. It will become the primary tool in our move toward platform independence.

Just about that time QT4 came out. It's development paradigm was totally different, more along the classic lines of C++ development, as I understand it. While I missed the old Designer at first, it didn't take me long to realize the superiority of the classic method, and its main feature -- total developer control. One no longer has to work around a Designer tool. (And Trolltech can divert resources from maintaining and improving what is essentiall a GUI RAD devl tool to their core product, the API.) I decided to redo Homestead from scratch. It took about two weeks, primarily gettting used to the new API and replacing QT3 stuff with QT4 stuff.

Oh, speed? While a certain report created using our original Visual FoxPro 6.0 app took 2 1/2 HOURS to generate, the same report with the QT4 app takes only 2 MINUTES 30 SECONDS!! While testing the JDeveloper solution I canceled the report request because I got tired of waiting.

So, Java isn't in my future. In fact, were I asked to drop QT and do all my work in Java I'd reconsider my pledge to work till I am 70 years old.

Jimmy2775
1st February 2006, 21:24
Personally I found Stroustrup's book to be over my head when I first tried to read it. At that point C++ was the first language I was learning, and the way he describes concepts in the book was too abstract for me to make any sense of them.

IMHO the best book for beginning or reviewing C++ is Bruce Eckel's Thinking in C++ (http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html). The best thing that this book has going for it is that it's absolutely free!!! "Free" is always a good feature in a book, I think. The book describes C++ concepts from the point of view of a developer moving from C to C++, however, I have no experience in C and was still able to follow along easily. The book is a nice blend of theoretical explanation combined with practical code examples. Instead of trying to cover every C++ concept from beginning to end, Eckel's book is a sort of linear narritive that introduces concepts individually but then gradually elaborates on them as parts of a whole. He is also able to explain some of the logic behind the design of the language which I find makes it easier to remember how to use, and begins the book with a very good, high-level introduction to OOP.

Bojan
2nd February 2006, 00:23
I would recomend to a new programmer to learn Java first, then C++. The high level of object oriented-ness is a good practice in C++ and it lets you learn HOW to program and how to think like a programmer without worrying about memory management (although Qt takes a ton of load off this!) and some of C++'s other "advanced" features. (plus the syntax a VERY similar)

While this sounds good in theory, I have seen it fail many times in practice. The problem is that C++, although an OO language, still necessitates learning and knowing lower level stuff. As well, OO concepts in C++ work differently than in Java. I think Java can help understanding OO and C++ concepts and maybe provide some sort of fast track into learning C++, but people who try to make a straight Java to C++ transition often have a lot of dificulty w/ pointers, and C'tor, CC'tor and D'tor concepts, and inheritence. I think it is lot wiser, if one knows Java, to learn C first and pointers, structs, etc.. just the basics. Then move on to C++. I think lots of people take the suggested approach Java -> C++, and I have seen lots of people in my school struggle when attemping this because they write C++ code Java style, and then end up not having any idea of what's actually going on when things begin to segfault. This is just my opinion, and isn't based on any strong empirical evidence or anything, just on my observations. I dont know. Anyway this may be OT, if so I am sorry.

Bojan

ucntcme
13th March 2006, 10:50
yeah reviving an old thread but adding quality information to it. :)

Core C++: A Software Engineering Approach ( http://www.amazon.com/gp/product/0130857297/104-8958036-0173500?v=glance&n=283155"]link (http://www.amazon.com/gp/product/0130857297/104-8958036-0173500?v=glance&n=283155) )
is flat out awesome in my book (hehe).

Java? Nah, start with Python. :D

dublet
13th March 2006, 11:06
Bruce Eckel's Thinking in C++. It is divided into two volumes, the first dealing with basic concepts, the second dealing with the more iffy stuff. Very clear examples and explenations. As a bonus, this book is downloadable for free. :)

http://www.bruceeckel.com/

brcain
15th March 2006, 19:04
Once beyond simple C++ syntax/semantics, I highly recommend

Nicolai M. Josuttis, "The C++ Standard Library: A Tutorial and Reference", Addison-Wesley, 1999.

Michiel
17th March 2006, 13:37
I'm not looking through the entire thread to see if they've been mentioned already, but:


Absolute C++, Savich
Design Patterns, Gang of Four
Refactoring, Fowler
C++ For Game Programmers, Llopis


They're not all about C++ specifically, but they're all relevant. I especially recommend Design Patterns.

AP.Sakkthivel
21st March 2006, 08:20
I prefer Bruce Eckel's Thinking in C++,
Volume 1, 2nd Edition
and Volume 2

It is available in pdf format online

regards :)

yop
21st March 2006, 21:20
Let me post another one that I lately discovered:
Code Reading: The Open Source Perspective (http://www.spinellis.gr/codereading/)

Chicken Blood Machine
23rd March 2006, 05:50
Once beyond simple C++ syntax/semantics, I highly recommend

Nicolai M. Josuttis, "The C++ Standard Library: A Tutorial and Reference", Addison-Wesley, 1999.

I totally second that brcain. That's a real power users volume, but lucid enough for anyone who has learnt C++ but wants to master it.

ePharaoh
23rd March 2006, 06:55
Well, I too think that learning Java is a nicer introduction to C++. The path I would recommend is C -> Java -> C++



So, Java isn't in my future.

I am glad you made it clear that it is a personal opinion. Language choice is really a matter of personal tastes and the nature of task at hand.

I find java incredibly more robust and formal, than C++. That makes it easier to develop compiler tool chains and IDEs for Java. The sheer number of refactoring and quick-fix features provided by Eclipse is a testimony to that.

About speed, Java is gaining ground with the help of native compilation. (See ClasspathShowcase (http://developer.classpath.org/mediation/ClasspathShowcase) and Fedora Eclipse (http://sourceware.org/eclipse/).) Though it really is unfair to compare two languages based on speed, because there are a number of tradeoffs involved (portability, robustness, etc).

As of now, for desktops, I would use C++ to develop real world applications and Java for trying out new algorithms/concepts etc. (I am working on neural net simulation in Java, for example). But I do hope that Java gains more ground and becomes usable for real-world applications on the desktop.

Brandybuck
23rd March 2006, 08:00
I'm going to go out on a limb and recommend C++ as a first language. I never would have said this several years ago, but then I discovered "Practical C++ Programming" by Steve Oualline (O'Reilly). It a really great book that focuses on the core practical elements of C++. It's written for the beginner programmer, but doesn't treat him like a child.

I would also recommend avoiding IDEs like Visual Studio or KDevelop. Stick with a text editor and the command line until you learn the language.

brcain
27th March 2006, 16:31
I find java incredibly more robust and formal, than C++.


I second that, ePharaoh. I've been developing with C++ for 15+ years now. And have just begun to learn Java. It would have been nice if C++ had included Java interfaces and packages.



About speed, Java is gaining ground with the help of native compilation.


Many people incorrectly assume Java is still interpreted. With just-in-time (JIT) compilitation, it can actually be faster since it can more accurately optimize to the target platform.

bitChanger
20th April 2006, 15:20
C++ : Effective Object-Oriented Software Construction
Dattatri

isbn 0130867691

I've been programming in c++ for about 7 years and this is one book that covers the advanced topics of c++. It starts out with polymorphism, where most books end with that topic. This is the book I use when looking up obscure and advanced topics.

edb
25th April 2006, 10:56
* For newbies I recommand:

Sams Teach Yourself C++ For Linux In 21 Days With Cdrom
Liberty, Jesse
ISBN : 0672318954
This book is easy to read, and has all essentials in it. For those who do not which to program under Linux, just skip the Linux part. The C++ part is very nice on itself.

* Reference for advanced users with specific C++ problems, ofcourse:
The C++ Programming Language
Stroustrup, Bjarne
ISBN : 0201700735
Don't start with this book as a newbie. It is far to advanced, but to become a good c++ programmer someday you will have to read it ;)

* For Object Oriented programming:
An Introduction to Object-Oriented Programming
Timothy Budd

* Design patterns :
Design Patterns (Elements Of Reusable Object-Oriented Software)
Gamma, Erich
ISBN : 0201633612

brcain
25th April 2006, 21:49
* Reference for advanced users with specific C++ problems, ofcourse:
The C++ Programming Language
Stroustrup, Bjarne
I'd only get this book as a reference ... or as edb stated ... addressing very specific issues.
I rarely, rarely ever need to use this book. And with Internet resources so accessible it's becoming even less needed.

iGoo
26th May 2006, 02:31
I couldn't get through that book. Maybe it's because of poor Polish translation (it shows, that there was no linguistic editor), but I find it's language too convoluted to be easly understood.

Damian


I am Chinese,and we have Chinese Edition of that book when in college.
But,I preferred the original.

think in C++(2 volumes) is also good C++ books,I think.

rajesh
18th July 2006, 09:48
is the Design Patterns ,Gamma, Erich e-book available?

mm78
28th October 2006, 22:20
Design Patterns by GOF is really good. I also like the Deitel books and Effective C++. And the Qt book of course.

As for C++ vs. Java discussions in general I must say I find them quite silly, biased and prejudiced most of the time. I have both formal training and professional experience with both C++ and Java, and I must say that they are both great languages. Which language to pick really depends on what problem you have at hand. C++ is great on the desktop and on embedded. Java is great on the server and quite allright on embedded too. Both languages have quirks and, uhm, faults, but... please, base your discussion on something else than ignorance, prejudice and what you want to believe.

Talking about Java... have you guys checked out Jambi yet?

Walsi
11th April 2007, 14:48
C++ Primer! I just bought I yesterday! :)

Gopala Krishna
11th April 2007, 19:10
My most favorite c++ book is
Teach yourself c++ by Herbert Schildt <link (http://www.amazon.com/Teach-Yourself-C%2B%2B/dp/0078823927/ref=pd_bbs_sr_3/002-8247132-0920852?ie=UTF8&s=books&qid=1176313936&sr=1-3)>

The approach is awesome and beginners will surely find it easier to understand the basics of c++ very well. The excercies too helped a lot.
That book changed my life since that changed my path from windows to linux side.
Before I used to write crap code in the old turboc c++(3.0) and I didn't even have the slightest clue about standard c++ (lol).
After coming across that book I installed linux(cd from lib) for the first time so that I can get free standard c++ compiler (didn't have access to net at that time and hence no clue about devcpp).
I read an article about GUI design in c++ with Qt on linux in a magzine(PCQuest) and that prompted me to try Qt and Qt amazed me in the first gaze itself. And thats how I have been involved with qt and linux since then. :)

Other that that book I also found these useful
Thinking in C++ (Bruce Eckel)
Effective c++(Scott Meyer)
Most Effective c++ (Scott Meyer)

patrik08
10th May 2007, 14:20
Hi everyone!
Now I try to fresh up my C++ knowledge and look across by book shelf.
I 'm not completely satisfied with the C++ books I have here.
What are your favorite C++ books you read - and keep readind from time to time?
Eugen


My first @ c++ book is http://www.koders.com/ 2006 the 2° ISBN-10: 3-89842-816-8
http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-899 is ok ....
I don have much C++ expirience, i have only 10 years expirience on php2,3,4,5 Class Object and 3 years http://gtk.php.net/ is nice to learn Class Object to balance theory and practice, without yawn, and 11 month QT..

rajesh
11th May 2007, 05:58
Read
Effective C++, Third Edition (http://www.awl.com/cseng/titles/0-321-33487-6/) by Scott Meyer
&
More Effective C++ (http://www.awl.com/cseng/titles/0-201-63371-X/), by Scott Meyer


Does any body having e-book of "Introduction to Design Patterns in C++ with Qt 4" ?

ct
10th June 2007, 08:00
well
1. The C++ Programming Language - Bjarne Stroustrup
( a very good book, has loads of thing but pretty difficult one )

2. The Complete Reference - C++ - Herb Schildt
(Explains things pretty simply)

3. Design Patterns - Eric Gamma et. al
( wanna read and re-read this one)

These are the one that I have and like most....however I intend to read the following ones
Effective C++ (Scott Meyer)
More Effective C++ (Scot Meyer)

ct
22nd August 2007, 04:00
I heard somewhere that Any Book written by Herb Schildt is not so good, including The Complete Reference, C++; I am an intermediate C++ user but have been following this book for a while.
What do you think ?? May be we should start a bad book topic..

mickey
5th November 2007, 21:34
Hello,
Do anyone know something about this ?
http://www.aw-bc.com/catalog/academic/product/0,1144,0321412699,00.html

Brandybuck
6th November 2007, 18:07
Hey! I had a PDP-8 class with Walter Savitch way back in the days of the dinosaurs! Glad to see he's moved on to C++.

mickey
6th November 2007, 19:42
I had a PDP-8 class with Walter Savitch way back in the days of the dinosaurs!.
I apologize, but I don't understand what this above mean.
I wondered if it's a good book (take a comparison with "Thinking in c++")....

Brandybuck
7th November 2007, 18:00
I apologize, but I don't understand what this above mean.
I wondered if it's a good book (take a comparison with "Thinking in c++")....
I means that I took a class with the author twenty five years ago, when the only C++ was the AT&T cfront compiler. Professor Savitch was teaching assembly for the PDP-8 system.

Aki Tomar
5th February 2008, 07:26
C++ from dietell & dietell

ashukla
5th February 2008, 08:56
C++ The Complete Reference by Herbert Schildt is my first choice.
Others lists are;
Thinking in C++ (Bruce Eckel)
C++ Primer! by .... Patra

LeoVingi
5th May 2008, 21:13
I used 2 books to get into the C++ programming language.
The first book on C++ was Ivor hortons – C++ tutorial which I found installed with visual studio 6.0, and it was good as entry level book.
Then I read C++ from the ground up by Herbert schildt and that was a good book.
After I finished the two books I felt like there is many things still not clear to me like pointers, copy constructors and templates you just can’t cover all C++ in one book!!
So I kept searching the internet about the things I didn’t understand correctly because it slowed me down when I tried to learn MFC at that time.
That was very helpful, and I also bought C++ the complete reference because I liked the author style in C++ from the ground up and I learnt the C language from that book.
Many Things are now clearer to me, I have to admit that learning C helped me a lot to understand C++ better and to put many things into use now.
So learning the C language is crucial for a C++ programmer IMHO.
I really recommend those books to:
Addison Wesley - C++ Common Knowledge Essential Intermediate Programming
Addison Wesley - C++ Primer, Fourth Edition
Addison Wesley - Effective C++ 55 Specific Ways To Improve Your Programs Third Edition
Cambridge University Press - Memory as a Programming Concept in C and C++
Regards
Hatem.;)

Methedrine
6th May 2008, 15:15
Wthout any order:

"Code Complete" - Steve McConnell
Gives very interesting insights into software development in general. Something that I can only recommend everyone to read.

"Modern C++ Design" - A. Alexandrescu
Unleashes the C++ Template beast. If you ever wanted to know about policy-based design / generic programming this one is for you.

"Design Patterns" - GoF
Enough said about that book already.

"The Art Of Computer Programming" - Donald E. Knuth
This is indeed a piece of art. Highly abstract discussions about software. But be aware - no real code (except for Knuth's fictional MIX computer) and it contains quite some math (if you don't want to do maths programming certainly is wrong for you anyway).

T3AB4GG3R117
8th January 2009, 02:09
http://www.bookshop.gfu.net/AxCMSTemplates_GFU/pics/products/0132354160.jpg

orky7
20th March 2009, 07:00
i know C previously........so i choose

1)PROGRAMMING: PRINCIPLES AND PRACTICE USING C++ --STROUSTRUP(at first i read this and then) :):cool:
2)THE C++ PROGRAMMING LANGUAGE --STROUSTRUP (still reading it):confused::crying:

i also think c++ primer plus is a good book and can be replaced with the (1) option but there is no replacement for (2) one......some will say there can't be any replacement to that monster book but if u know c++ its a treasure........

ComaWhite
20th March 2009, 08:12
I didn't like the C++ GUI Programming With Qt4. Too small of a book and didn't cover enough in details on MVC, QtScript, I don't know if it had QtDBus at time of publishing.

I love the Foundations of Qt Development. I hope there is a update to the book. That covers alot more modules. the only thing I didn't like was no QtScript, no QtDBus and no covering of the QMeta system unless I over looked that part and QSslSockets.

DoctorWatson
8th April 2009, 10:54
Stroustrup's C++ Book is one of my favorites. I think it is a must-read for anyone serious about C++.



Addison Wesley - C++ Common Knowledge Essential Intermediate Programming

I like that book too. It is like Meyer's "Effective C++", but it has a subtle, dry sense of humor that makes it enjoyable to read.

I also like Lippman's "Inside the C++ Object Model". Though it is dated now, it is still a good read and it explores C++ from a very deep level. It is probably required reading for a C++ compiler author. After reading that book I really had a better appreciation for everything that is going on under the hood (or bonnet!) to make our jobs easier as C++ application developers. And I'm thankful I'm not a compiler engineer!

One day I'll get around to read about the template meta-programming, but honestly I have little use for building template libraries myself. Boost and STL do nearly everything I need, and Qt takes care of the GUI aspects...it is a nice time to be a C++ developer. 10 years ago everything was a pain!

vieraci
12th April 2009, 15:26
Going from assembler and basic, C++ was a real headspinner. My first book was Stroustrup's C++ Book. For me, a complete waste. I couldn't get into it at all.

Then I bought C++ in plain english by Brian Overland. This book is basic and uncomplicated, goes directly to the subject matter. I got the picture immediately.

The next good buy was:

C++ Master Reference, The Definitive C++ Reference by Clayton Walnum.

This book is an encyclopedia of classes, all I had to do was look up what I need and implement !

radory
28th April 2010, 08:56
I even don't know which book suit for me.....terrible~~~ i just love Internet and google....

ralph_pt
22nd September 2010, 20:32
pragsoft.com free book on the website ;) is the one i use from time to time

Timoteo
27th September 2010, 20:03
Effective C++ (and More Effective C++) (Scott Meyers)
An Introduction To Design Patterns In C++ With Qt4 (Alan and Paul Ezust) (Currently reading print copy from Amazon) (also available online below)

http://cartan.cas.suffolk.edu/oopdocbook/html/

shmerl
27th September 2010, 21:35
Thinking in C++ I & II (Bruce Eckel): http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Modern C++ Design: Generic Programming and Design Patterns Applied (Andrei Alexandrescu).
C++ Templates: The Complete Guide (David Vandevoorde, Nicolai M. Josuttis)

Timoteo
7th October 2010, 01:47
Just started reading:

Advanced Qt Programming: Creating Great Software With C++ and Qt 4
(Mark Summerfield)

Seems a really great buy so far.

tetsuoii
16th October 2010, 22:03
haha, I bought Stroustrup's book in polish too, and yes it was terrible to read(I'm not a native speaker) convoluted is the word.

FelixB
9th June 2011, 13:38
can anybody recommend a good book about applying design pattern? like a collection of case studies? I am familiar with several patterns (I hope), but I don't know when to apply which pattern.

thanks :)

stampede
3rd September 2011, 16:29
@up: I'm sure you can find some useful tips in Andrei Alexandrescu - "Modern C++ Design: Generic Programming and Design Patterns Applied"

@topic: One of my favorite books is Robert C. Martin's "Clean Code: A Handbook of Agile Software Craftsmanship". Its not about C++ at all (examples in Java), but I think its worth reading. This is one of the books that really helped me to improve my coding skills.

wysota
3rd September 2011, 20:26
can anybody recommend a good book about applying design pattern? like a collection of case studies? I am familiar with several patterns (I hope), but I don't know when to apply which pattern.

The Gang of Four book on Design Patterns is a classic.

Destiser
18th August 2012, 08:55
Can anyone recommend a book that handles the new features of C++11?

Destiser
27th August 2012, 17:54
Aren't there any or do you guys think it's a stupid question, I can find C++11 books but they don't seem to limit them selves to only the new stuff in C++11

Zlatomir
1st November 2012, 10:29
Can anyone recommend a book that handles the new features of C++11?
This one (http://www.amazon.com/C-Concurrency-Action-Practical-Multithreading/dp/1933988770) is about concurrency in C++11.
And this one (http://www.amazon.com/The-Standard-Library-Tutorial-Reference/dp/0321623215/ref=pd_sim_b_1) is about STL.
Also there is Stroustrup's C++11 faq (http://www.stroustrup.com/C++11FAQ.html) and also wikipedia page (http://en.wikipedia.org/wiki/C%2B%2B11) but note that no compiler support all C++11 features yet.

LE: Also we can wait for the 4'th edition of "The C++ programming language" (http://stroustrup.com/4th.html)

pkj
5th November 2012, 10:37
The gang of four, gamma et al, though not specific to c++ is simply the best. Particularly for ui, with so many classes to play with, it is a great help in design strategies. Alexandrescu modern c++ design is good too but I liked C++ Templates: The Complete Guide (David Vandevoorde, Nicolai M. Josuttis) more as it helped me for the daily usage more.
I liked meyers effective c++ too.

hansenmartin
14th August 2013, 14:28
Schildt's C++ The complete reference
Meyers' Effective C++
Meyers' More Effective C++
Blanchette's & Summerfield's C++ GUI Programming with Qt 3

havij000
17th August 2013, 05:04
hi,

If you want to learn about the c++ concepts and primetives I suggest you the "c++ the complete refrence by Herbert Schildt" or "thinking in c++ by Bruce Eckel" they are the book which can help you to understand the concept of programming.

ahad0001
18th October 2014, 12:23
C++ Programming Language by Bjarne Stroustrup.

kaufenpreis
4th February 2015, 12:30
My favorite book for introducing an experienced programmer to C++ is Nigel Chapman's "The Late Night Guide to C++". This would probably not be a good book for someone with no programming experience at all. But if you already understand the idea of writing a program to tell a computer to perform a task, and you understand in general how the computer carries out the instructions expressed in the program, and in particular if you have successfully written a few programs in some other language, then Chapman's book can help you understand what is special about C++, and why the language is so powerful. The book is lively and witty, and has some unusual examples drawn from niche programming languages (Metafont and AWK). I appreciated this because it showed that by defining a few appropriate classes and operations, you could use C++, a mainstream, general-purpose language, to accomplish the same tasks for which people used to resort to special-purpose languages or applications.

The book isn't cheap, and it is definitely a tutorial, not a reference. By that I mean that you may read it once or twice through, but after that, if you continue as a C++ programmer, you will probably not go back to Chapman's book again and again -- you will want something else (like Stroustrup's "The C++ Programming Language", or Meyers's "Effective" books, or books by Sutter or Alexandrescu or Josuttis) as regular references. So it makes sense to borrow it from a library if you can, or if you're a student, maybe chip in with others to buy a copy you can share, or buy it used if you can find it.

But even if you have to buy it outright (as I did), I would say it's worth it. It is a well-thought-out, well-paced introduction that concentrates on the class and object mechanisms that make C++ different from C and from Java. (In particular I remember it having a really good treatment of multiple inheritance.)

On another note, I should also mention that Stanley Lippman has written two very good books: "The C++ Primer" (now in its 4th edition, I believe), and "Essential C++". The "Primer" is intended as a thorough introduction to the language, and I do mean thorough -- it's about 1200 pages long. Unlike Chapman's book, it can serve as a useful reference even after you know the language, but its sheer size and comprehensiveness may make it daunting. "Essential C++" takes a tutorial approach, and has some good examples and exercises, but is less useful as a long-term reference than the "Primer" and less fun to read than Chapman's "Late-Night Guide". At this point, personal taste (and budget) start to affect your choice, so I'll leave you with these suggestions, and recommend that you go to a bookstore and look at the books and buy the one that appeals to you most, since that's the one you're most likely to actually read and profit from.

tech4tall
15th November 2015, 04:00
The Qt3 book already mentioned is a MUST HAVE (I even PAID for it!) (They even had it at Barnes and Noble!)
of course when I got it Qt4.1 rc 1 was already out (and I wasn't going to start using an old version!) so I pretty much used it to just get an idea about HOW to use Qt to build Android apps (http://www.androidphonesoft.com) since some of the syntax is a little different.

C++ In Plain English is a great reference book, especially for people moving from 'plain old' C to C++. (Which I did kicking and screaming, BTW and now would never go back) It touches on many topics but puts a lot of focus on object orientation and skims over things like int,long,float,printf,arrays,etc (eg. things you should already know unless you are completely new to this)

Not a C++ book, but the O'Reilly Pocket Reference on Regular Expressions is quite helpful even though it is REALLY meant for Java, C#, and PHP

Katrina

The Art of Building Qt Applications: Cross-platform development is a kind of holy grail, and Trolltech's Qt toolkit may well be the most promising solution yet to this development challenge. Qt is widely used for the development of GUI applications as well as console tools and servers, and it's especially appealing to programmers who need to write cross-platform applications to run on Linux/Unix, Mac, and Windows machines without having to rewrite for each platform. The Book of Qt 4 offers an in-depth explanation of Qt 4 that goes beyond the common focus on C++ programming.

Roseangel41
12th April 2016, 11:40
Actually i am new and learning so thats why i dint haven idea which book is favoirt..:)

slaphead
29th June 2016, 15:58
My favorite is Programming: Principles and Practice Using C++ (Bjarne Stroustrup), this is the very first C++ book i've read.

slaphead
9th October 2016, 13:55
Hi! I used this (https://www.quora.com/What-are-the-best-C++-books) list when I bought C++ book. I bought the "The C++ Programming Language".

aptronpankaj
17th May 2017, 09:31
Join Best C & C++ training Institute (http://aptrongurgaon.in/best-c-and-c-plus-plus-training-in-gurgaon.html) they will you beter

kaufenpreis
7th December 2017, 17:04
Dietel and Dietel, C++ How To Program
Excellent introductory textbook on the C++ language. This book is also fairly comprehensive -- it includes a reasonable coverage of all the basic language features.

I can swear by this book since it's the book from which I learned C++.

Bruce Eckel, Thinking in C++
Eckel's books have become very popular. His C++ book is freely available on the web. I haven't read it, but I have his java book, which is a gem. Take a look at the one on the web, and buy it if you like it.

Andrew Koenig and Barbara Moo, Acclerated C++
A C++ textbook that takes an innovative and nontraditional approach by teaching C++ without ``teaching C'' first. This book adopts a relatively rapid pace, it's more like a second text than a first. This is one of the few beginner books I've seen where all the code in the book really looks like C++, and not some bizarre prehistoric C-like dialect. Another thing I like about the book is they teach just the right subset -- rather than asking the reader to rote-memorise the details of every STL class, they focus on the important ones (mostly map, list and vector).

#Dragon
12th December 2017, 22:12
C++ Primer Plus by Stephen Prata