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;
}As we can see in the preceding code, we have a template named datatype. This template can be used to...