- "Accelerated C++" Andrew Koenig and Barbara Moo.
- "The C++ Standard Library" Nicolai Josuttis.
- "Effective C++" Scott Meyers
- "More Effective C++" Scott Meyers
- "Effective STL" Scott Meyers
- "Exceptional C++" Herb Sutter
- ""More Exceptional C++"" Herb Sutter
- "The C++ Programming Language" 3rd edition or later Bjarne Stroustrup
- "Modern C++ Design" Andrei Alexandrescu
- "C++ Templates: The Complete Guide" Vandevoorde and Josuttis
- "Standard C++ IOStreams and Locales" Langer and Kreft
Sunday, May 4, 2008
C++ Recommended Books.
C++ is a language with lots of concepts and there is no one book that details all its features nicely. Here is a list of books you could read on to master this language. Read in the order listed.
Friday, May 2, 2008
What happens when we call a function in C++
Here is an excerpt from Herb Sutter's blog about the process in which a function call invocation is handled in C++.
As soon as a function of an object is invoked like obj->function_within_obj() ,
the c++ does the following:
As soon as a function of an object is invoked like obj->function_within_obj() ,
the c++ does the following:
- First comes name lookup: The compiler looks around to find a function having the requested name. It starts in the current scope (in these cases, the scope of the class we’re calling the member function on) and makes a "candidate list" of all functions having that name; if the list is empty, it goes outward to the next enclosing scope (e.g., namespace or base class) and repeats. If it makes it all the way out to the global scope and still finds no candidates, sorry Charlie, you get "name not found."As soon as a scope is encountered that has at least one function with the requested name, the compiler goes to step two.
- Second comes overload resolution: If the candidate list has more than one function in it, the compiler attempts to find a unique best match based on the argument and parameter types. If two or more functions are equally good (or bad) matches, sorry Charlie, you get "ambiguous call."
- Third comes accessibility checking: Finally, the compiler looks to see whether you may actually call the function (e.g., that it’s not private). If you don’t have clearance to call the function, sorry Charlie, you’re not calling from within a derived class, a member function, or friend function and you should have thought of that before trying to access an inaccessible protected or private function. For shame.
Movies 2008: JUNO
I watched this movie on recommendation from a friend. The movie deals with the problems a high school student faces due to an unwanted pregnancy at school. The movie is witty and the dialogs are pretty sharp.
I was not able to understand some slang used with the movie. Apart from that this is a decent movie that you could watch once.
Subscribe to:
Comments (Atom)