Generic programming is a development approach where the algorithm gets written without specifying concrete data types. Using this approach, one can dramatically increase the ratio of code reuse. In C++ this is achieved via template mechanism. The talk covers several possibilities that C++ presents. Real-world examples are given and we will take a look on how they can simplify our development life.