C++: Using Function Templates
Template metaprogramming is a powerful computer science technique used to achieve code reuse and some incredibly elegant architectures. In C++ template metaprogramming is achieved via template functions and classes that are instantiated at compile-time not at runtime. In this course learn how to define and instantiate function templates to effectively provide compile-time polymorphism. Then explore how template definitions can make assumptions about the template parameters. Finally learn how to define and use templates with pointer and reference types to provide function overloading.