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

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

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

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

09.09.2013, 15:42. Просмотров 500. Ответов 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
Посмотрите здесь:

Как работает typeid( ).name() в minigw? C++
присвоение typeid C++
Проверка типа (typeid) C++
typeid и классы C++
typeid C++
Пример применения оператора typeid к шаблонным классам C++
Утечка памяти из-за объекта типа структура C++
Определение типа объекта C++
Можно ли присвоить объекту основного типа значение объекта пользовательского типа? C++
Поиск объекта в классе по строке типа char C++
Ошибка при добавлении в вектор объекта типа thread C++
Typeid C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x0d9
8 / 8 / 2
Регистрация: 04.09.2013
Сообщений: 17
09.09.2013, 15:48     Название типа объекта typeid #2
Это количество символов в имени типа данных
Убежденный
Системный программист
Эксперт С++
15098 / 6793 / 1073
Регистрация: 02.05.2013
Сообщений: 11,104
Завершенные тесты: 1
09.09.2013, 20:19     Название типа объекта typeid #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.
Yandex
Объявления
09.09.2013, 20:19     Название типа объекта typeid
Ответ Создать тему
Опции темы

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