This blog is subject the DISCLAIMER below.

Sunday, May 14, 2006

Advanced C++ part 1

This article series will be talking about advanced C++ concepts.

Prerequisites:
Solid understanding of programming. A sense of OOP. Understanding pointers. A slight idea about threads and concurrency. Imagination and enthusiasm.

Assumption:
I assume you can compile and run any C++ program and know how to handle any syntax error you get.

It will contains this topics:

  1. Necessary introduction about the compilation process.
  2. 'new' buffer allocation.
  3. Thread-safety using 'volatile'.
  4. Exceptions.
  5. Namepsaces and anonymous namespaces.
  6. General usages of the 'using' keyword.
  7. const pointers and const references.
  8. Real time type-id.
  9. Templates.
  10. Introduction to STL.
  11. Template meta-programming.
  12. General topics like executable file encryption.
Stuff I will NOT talk about :
  1. No function pointers.
  2. Nothing related to common OOP (i.e. no inheritance, no operator overloading, no friend classes, no virtual functions/overriding).
  3. Nothing about visual programming.
  4. Nothing about managed C++.
  5. Nothing about programming style guidelines.
There is other topics I want to talk about, like signals ( <csignal> header file ) but probably I won't.
I will start publishing them as soon as I can, but I don't think I can do it before the exams.
As I publish each part, I will associate links and book titles for further reading.

.. more.