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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kavas
Сообщений: n/a
#1

Название типа объекта typeid - C++

09.09.2013, 15:42. Просмотров 536. Ответов 2
Метки нет (Все метки)

Когда вывожу название типа объекта, то перед ним появляются цифры 4 и 8. что они означают?

В низу показал что выводит программа

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <typeinfo>
using namespace std;
 
class Base
{
private:
    int m_value;
 
public:
    virtual void VirtFunc()     {}
};
 
 
class Derived1 : public Base
{
};
 
 
class Derived2 : public Base
{
};
 
class Derived3 : public Base
{
};
 
 
int main()
{
    Base *p;
 
    p = new Base;
    cout << typeid(*p).name() << endl;
 
    p = new Derived1;
    cout << typeid(*p).name() << endl;
 
    p = new Derived2;
    cout << typeid(*p).name() << endl;
 
    p = new Derived3;
    cout << typeid(*p).name() << endl;
 
    return 0;
}
вывод:
4Base
8Derived1
8Derived2
8Derived3
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2013, 15:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Название типа объекта typeid (C++):

Проверка типа (typeid) - C++
Подскажите пожалуйста как можно правильно реализовать такую вещь: если тип переменной и == int то.... нагуглил функцию:...

Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа - C++
Доброго времени суток, пишу класс содержащий несколько std::set от разных типов, нужно сделать метод возвращающий указатель на нужное...

Можно ли присвоить объекту основного типа значение объекта пользовательского типа? - C++
Правильно ли я понимаю, что SomeClass obj; int x = obj; или SomeClass obj; int x = 5 + obj;

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) - C++
Представьте такую ситуацию. Есть у вас массив чисел: Mass И вы хотите передать его в функцию. Я делаю это так: //объявим ф-ю: ...

typeid - C++
Кто-нибудь может объяснить зачем в C++ , а конкретно в ООП нужен оператор tepeid. Что он делает и т.п. Вот например что делает данная...

Typeid - C++
ошибка непонятная мне в 43-44 строке (((( #include&lt;iostream&gt; #include&lt;typeinfo&gt; #include&lt;cstdlib&gt; using namespace std; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x0d9
8 / 8 / 2
Регистрация: 04.09.2013
Сообщений: 17
09.09.2013, 15:48 #2
Это количество символов в имени типа данных
1
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
09.09.2013, 20:19 #3
Цитата Сообщение от Kavas Посмотреть сообщение
Когда вывожу название типа объекта, то перед ним появляются цифры 4 и 8. что они означают?
По стандарту, это implementation-defined, то есть определяется реализацией (компилятора).
C++03, 18.5.1

The class type_info describes type information generated by the implementation.
Objects of this class effectively store a pointer to a name for the type, and
an encoded value suitable for comparing two types for equality or collating order.
The names, encoding rule, and collating sequence for types are all unspecified
and may differ between programs.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2013, 20:19
Привет! Вот еще темы с ответами:

Typeid в clion - C++
Почему при током коде CLion выводит 1T? И что это значит? #include &lt;iostream&gt; #include &lt;typeinfo&gt; class A{ public: int k; }; ...

typeid и классы - C++
Разбираю пример с учебника: #include &lt;iostream&gt; #include &lt;typeinfo&gt; class myclass { int i; }; int main()

присвоение typeid - C++
При использовании cout&lt;&lt;typeid(/*...*/).name()&lt;&lt;&quot;\n&quot;; выдается что переменная входит в класс, например, Object Есть ли возможность...

Определение типа объекта - C++
Здравствуйте! Помогите пожалуйста. Есть абстрактный класс и 3 потомка. class Transport { private: string name; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru