C++: Going beyond the basics

For all the C++ programmers out there who have mastered the basics and want to learn more about how the language works internally, as well as how to use it in a better way, check out this website: http://www.parashift.com/c++-faq-lite/index.html

I would also recommend the following books for the purpose:

Effective C++: 55 Specific Ways to Improve Your Programs and Designs

More Effective C++: 35 New Ways to Improve Your Programs and Designs

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library

(all three books are by Scott Meyers)

gr8 references dude

old painful memories...

great find sah

Nowadays i am also curious to learn programming so i've started with C++ ,Thanks Sah.

@sah : you use C++ just for fun or for job ? :P

^ I've used C++ in school, at work and just for fun. Yesterday I was bored so I implemented a binary tree in C++. That kind of stuff! ;):)

^ lol u made a binary tree coz u were bored !!! Khuaar :P

Just extending my original post. An excellent book written by the creator of C++, explaining the design concepts and considerations behind the language:

The Design and Evolution of C++ [by Bjarne Stroustrup]

And for the REALLY really hardcore people, you can go read the C++ standard which defines what the language does and how it is supposed to do it!:

ISO/IEC 14882:2003

The books and standard are available for purchase of course but if you make some *ehm ehm* effort, then you might find them elsewhere as well. :)

The ISO/IEC 14882:2003 will become obsolete sooner or later as there is a draft for new standard(C++0x) there is a chance that it will be published in 2011, I think this one would be a challenge to read for intermediate level programmers.

^ Meh. I'm sure they'll still take a few more years to agree on the new standard. C++ is like a religion for the people on the standards committee and they simply refuse to back down and compromise when it comes to what should and should not be in the standard. As you can see by the '0x', they were supposed to have it out by 2009 at the latest and they're already long past their deadline! Right now they are citing an 'end of 2011' timeline for it to be published and that can easily slip into 2012 as well.

Anyways, as far as the topic goes, I only suggested reading these resources for the really enthusiastic developers who already know the basics of the language. Books on programming languages usually only go so far and focus mostly on using the language without saying much on how the language works internally. E.g. you can find thousands of books and websites describing what the keyword 'virtual' does and when you would want to use it. But very very few of them will tell you HOW polymorphism is implemented internally in C++. I understand that as a developer you probably don't need to know these things unless you're writing a compiler, but I (and I'm sure there are others who share my interest) like to know what goes on behind the scenes! :)

Don't get me wrong i am not criticizing you, I was just giving my point of view regarding standard, as for compiler writers i would be very surprised to find some one here implementing a full blown C++ compiler btw if there are any they should consider this one too ISO/IEC TR 19768 as this is now part of the standard

^ Well they could just use the C++0x draft for that purpose. TR1 and other changes should all be mentioned in it.

looking froward to get hand dirty in C++0x

^ You have to re-consider, get your "brain" dirty with it. Not "hands".

^rofl

Have a question and need help!

Does C++ has a definite commands? syntax? Where can i learn that.

Please post some link to basic commands of C++.

http://www.cplusplus.com/doc/tutorial/

Thanx.

[quote=", post:, topic:"]

^ I’ve used C++ in school, at work and just for fun. Yesterday I was bored so I implemented a binary tree in C++. That kind of stuff! ;):)
[/quote]

binary tree? I hope you wrote a recursive algo based code. Otherwise, its so easy. Anyways, for the sake of fun, you should code red black trees. They are interesting. If you really feel the urge to challenge yourself, try 2-4 trees. These are the things that Google etc use.

[quote=", post:, topic:"]

Have a question and need help!

Does C++ has a definite commands? syntax? Where can i learn that.

Please post some link to basic commands of C++.

[/quote]

I suggest that you should learn java. The most, that you shall be able to do, is to make console apps in C++ and its so 80s.

Learn java, and you shall be able to do (with some alterations) C++ codes, Jython codes, and better yet, android codes.