Online College Classes: Online TextBooks

Advanced C++ Techniques Explained

Using Threads
Ways to keep yourself out of trouble
Specializing Templates for Character Arrays
Template functions and classes that have special cases for character strings and arrays need a lot more specializations than you would expect if they are going to be used in real world programs.
C++ is the fastest language by a large margin.
Google studies indicated that C++ is signficantly faster than any other language that they studied:
BOOST_FOREACH: How it works
A description of sneaky tricks that the BOOST authors used to create it.
Don't forget to swap!
Optimizing function return values using swap instead of copy.
Converting Normal C++ Code to Templates
The easiest way to learn templates is to convert non-template code into templates and handle the compile errors that occur. Rinse and repeat.
Automatic Algorithm Selection using Templates
How to write templates to automatically select the best algorithm based on data types with little or no user hinting.
countof example
Using templates to force standardized interfaces on classes that didn't otherwise have it.
Inheriting Constructors
The language doesn't support it directly, but here's how to get the job done if you have to.
Computing the number of array dimensions
Template functions and helper classes that let you compute the number of dimensions of an array, vector, etc, variable -- or of a class.
C++ Idioms book (online)
Many (and growing) list of standard C++ techniques
C++ Advice
Tips and tricks of the C++ Professionals
Speeding up string conversions using C++ magic tricks
Achieve sprintf speeds using only a new C++ header file defining the Sformat() interface and yet keep operator<<'s flexibility.
Wing feather, bat leather, hollow bone
A page devoted to the deepest darkest magic secrets in the C++ language.
Named Array Elements
A sneaky way to have your array and seamlessly name the elements without having to waste space, use array index operators, or function call operators.
Static Initialization
Static initialization is powerful but dangerous. See this page for issues to watch out and solutions to extant problems.
Links to helpfull websites
C++ is the best programming language
64 bit data
and other platform specific data size issues.