Форум программистов, компьютерный форум CyberForum.ru

Проверка типа (typeid) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 5.00
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
04.09.2012, 23:06     Проверка типа (typeid) #1
Подскажите пожалуйста как можно правильно реализовать такую вещь:

если тип переменной и == int то....

нагуглил функцию: typeid(i).name(); которая выводит тип переменной, написал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <conio.h>
#include <typeinfo.h>
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    
//  cout << "type i == type z? ";
//  (typeid(i) == typeid(z)) ? cout << "yes!" : cout << "no!"; сравнение типов
    
    cout << typeid(i).name();
    typeid(i).name() == ("int")?cout << "yep!" : cout << "no";
 
    getch();
    return 0;
}
не пашет, вроде переменная - i - int, подскажите пожалуйста как реализовать корректно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 23:06     Проверка типа (typeid)
Посмотрите здесь:

C++ Проверка типа
C++ Проверка типа матрицы
Как работает typeid( ).name() в minigw? C++
присвоение typeid C++
typeid и классы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
04.09.2012, 23:23     Проверка типа (typeid) #2
что выводит name() зависит от реализации
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <typeinfo>
 
int main()
{
    int i;
    std::cout << std::boolalpha << (typeid(i) == typeid(int)) << std::endl;
    return 0;
}
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
04.09.2012, 23:40  [ТС]     Проверка типа (typeid) #3
igorrr37, спасибо большое!

Добавлено через 3 минуты
igorrr37, а если хочу сравнить является объектом класса?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
04.09.2012, 23:47     Проверка типа (typeid) #4
Точно так же.
C++
1
2
3
MyClass a;
 
typeid( a ) == typeid( MyClass )
Zazy
 Аватар для Zazy
37 / 37 / 11
Регистрация: 14.04.2013
Сообщений: 167
04.04.2014, 20:31     Проверка типа (typeid) #5
спасибо всем, то что надо
Yandex
Объявления
04.04.2014, 20:31     Проверка типа (typeid)
Ответ Создать тему
Опции темы

Текущее время: 23:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru