crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> typeid(*<class>).name(), откуда 15 в имени
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 27.8.2009, 12:07
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


Доброго времени суток.

вот такой код
#include "parameter.h"
#include <typeinfo>
#include <iostream>
#include <string>
int main(int argc, char ** argv)
{
    Parameter * fpw = new FreqParametrWgt();
    ModeParametrWgt * mpw = new ModeParametrWgt();
    FreqParametrWgt * fpw1 = new FreqParametrWgt();

    std::cout << typeid(*fpw).name() << '\n';
    std::cout << typeid(*fpw1).name() << '\n';
    std::cout << typeid(*mpw).name() << '\n';

    return 0;
}

а вывод вот:
Раскрывающийся текст

15FreqParametrWgt
15FreqParametrWgt
15ModeParametrWgt

вопрос... откуда 15 в имене???
впринципе не критично, но не понятно...
ЗЫ: вывод одинаковый в виндовсе и в линуксе

Сообщение отредактировал ЙаМайскЫйПчОЛ - 27.8.2009, 12:09
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 27.8.2009, 14:38
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


BRE, это да совпадает с длинной, но... лано еще потестю...
пример из вики который дал Юрий тоже не так работает... у меня приписка 6 и 8 соответственно, т.е. именно длина...
под виндой под линём , результат одинаковый - наверное дело в гцц

Сообщение отредактировал ЙаМайскЫйПчОЛ - 27.8.2009, 14:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 27.8.2009, 14:45
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(ЙаМайскЫйПчОЛ @ 27.8.2009, 15:38) *
BRE, это да совпадает с длинной, но... лано еще потестю...
пример из вики который дал Юрий тоже не так работает... у меня приписка 6 и 8 соответственно, т.е. именно длина...
под виндой под линём , результат одинаковый - наверное дело в гцц

Если нужны имена, то нужно парсить строку...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- ЙаМайскЫйПчОЛ   typeid(*<class>).name()   27.8.2009, 12:07
- - Litkevich Yuriy   Первый раз сталкиваюсь с таким ключевым словом - t...   27.8.2009, 12:17
- - ЙаМайскЫйПчОЛ   Я тоже, мне просто на этапе выполнения надо сравни...   27.8.2009, 12:21
- - Litkevich Yuriy   Я вот в аглицкой вики нашёл, там нет "15...   27.8.2009, 12:24
- - BRE   Похоже что 15 это длина имени класса, а вот кто ее...   27.8.2009, 12:50
- - ЙаМайскЫйПчОЛ   Litkevich Yuriy, Совершенно верно... по другим эк...   27.8.2009, 13:19
- - ЙаМайскЫйПчОЛ   BRE, это да совпадает с длинной, но... лано еще по...   27.8.2009, 14:38
|- - BRE   Цитата(ЙаМайскЫйПчОЛ @ 27.8.2009, 15:38) ...   27.8.2009, 14:45
- - ЙаМайскЫйПчОЛ   BRE, мне имя фактически не важно, я их буду сравн...   27.8.2009, 14:50
|- - BRE   Цитата(ЙаМайскЫйПчОЛ @ 27.8.2009, 15:50) ...   27.8.2009, 15:02
- - ЙаМайскЫйПчОЛ   таже %$рня)))) только gcc единым и живу))))   27.8.2009, 15:04
- - Litkevich Yuriy   у GCC есть ключики соответствия стандартам, может ...   27.8.2009, 16:00
- - Tonal   Таки стандарт не определяет что за строку будет во...   28.8.2009, 8:10


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 19:52