Как узнать тип переменной C++
Для определения типа переменной в C++ существует функция typeid().name() из библиотеки typeinfo которую нужно предварительно подключить с помощью
#include <typeinfo>
typeid().name()
Небольшая демонстрация
#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;
}
Результат
int 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 . . .
Все четыре типа определены.
В других языках
- Си : такой функции нет.
-
C#
:
есть похожая функция
GetType()
-
Go
:
функция
typeof
доступна из библиотеки reflect
Читать статью: «Как определить тип переменной Go»
-
Java
:
оператор
instanceof
-
JavaScript
:
эту задачу решает
typeof()
Читать статью: «Как определить тип переменной JavaScript»
-
Python
:
аналогичная функция
type()
и немного другая функция
isinstance()
с помощью которой можно решить эту же задачу.
Читать статью: «Как определить тип переменной Python»