Selecting a type in compile-time

As we discussed in the preceding topic, type is a basic part of a template. However, we can select a certain type based on the input from the user. Let's create a template that can decide what type should be used in the variable. The following types.cpp code will show the implementation of the template:

    /* types.cpp */    #include <iostream>    using namespace std;    // Defining a data type    // in template    template<typename T>    struct datatype    {      using type = T;    };    auto main() -> int    {      cout << "[types.cpp]" << endl;      // Selecting a data type in compile time      using t = typename datatype<int>::type;      // Using the selected data type      t myVar = 123;       // Displaying the selected data type      cout << "myVar = " << myVar; return 0; ...

Get Learning C++ Functional Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.