Для определения типа переменной в C++ существует функция typeid().name() из библиотеки typeinfo которую нужно предварительно подключить с помощью
#include <typeinfo>
Пример применения:
#include <string>
#include <iostream>
#include <typeinfo>
int main() {
// Создадим четыре переменные разных типов
int int_var = 1;
float float_var = 1.0;
char char_var = '0';
std::string str1 = "www.heihei.ru";
// Выведем на экран результат работы typeid
std::cout << typeid(int_var).name() << std::endl;
std::cout << typeid(float_var).name() << std::endl;
std::cout << typeid(char_var).name() << std::endl;
std::cout << typeid(str1).name() << std::endl;
return 0;
}
Результат:
float
char
class
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >
C:\Users\ao\source\repos\typeid\x64\Debug\typeid.exe (process 132920) exited with code 0. Press any key to close this window . . .