7
ответов

Как к typeof в C++

Как моделировать C#, typeof-управляют поведением в C++? Пример C#: общедоступный статический PluginNodeList GetPlugins (Вводят тип) {...} Звоните: PluginManager. GetPlugins (typeof (IPlugin)), Как реализовать это...
вопрос задан: 8 October 2009 20:17
7
ответов

Действительно ли возможно получить символ* имя от шаблонного типа в C++

Я хочу получить имя строки (символ константы*) шаблонного типа. К сожалению, у меня нет доступа к RTTI. шаблон <имя типа T> структура SomeClass {символ константы* GetClassName () константа {...
вопрос задан: 27 February 2009 19:12
4
ответа

'идентификатор типа' по сравнению с 'typeof' в C++

Я задаюсь вопросом, что различие между идентификатором типа и typeof в C++. Вот то, что я знаю: идентификатор типа упоминается в документации для type_info, который определяется в заголовочном файле C++ typeinfo...
вопрос задан: 30 May 2016 22:37
2
ответа

Тест, является ли класс полиморфным

У нас есть подпроект 'commonUtils', который имеет много универсальных фрагментов кода, используемых через родительский проект. Один такой интересный материал, который я видел, был:-/*******************************************************...
вопрос задан: 1 January 2019 17:16
2
ответа

идентификатор типа () возвращает дополнительные символы в g ++

нечто класса {общественность: освободите say_type_name () {станд.:: суд <<идентификатор типа (этот) .name () <<станд.:: endl; }}; международное основное () {нечто f;; f.say_type_name ();} Выше кода печатает P3foo на моем...
вопрос задан: 15 March 2010 15:16
2
ответа

То, что является временем жизни памяти, указало на typeinfo:: имя ()?

В C++ я могу использовать оператор идентификатора типа для получения названия любого полиморфного класса: символ константы* называет = идентификатор типа (CMyClass) .name (); Сколько времени будет строка, на которую указывает возвращенный символ константы
вопрос задан: 21 January 2010 14:06
2
ответа

Получите тип переменной

Если я понимаю правильно, идентификатор типа может определить фактический тип в полиморфизме, в то время как typeof не может. Это также верный, что их возвраты используются в различных целях: возврат typeof используется...
вопрос задан: 31 December 2009 22:04
2
ответа

Когда идентификатор типа может возвратить различные type_info экземпляры для того же типа?

Andrei Alexandrescu пишет в современном Дизайне C++: объекты, возвращенные идентификатором типа, имеют статическое устройство хранения данных, таким образом, Вы не должны волноваться о пожизненных проблемах. Andrei продолжает: стандарт делает...
вопрос задан: 30 November 2009 11:33
1
ответ

Когда использование typeid является лучшим решением?

Есть много причин не использовать typeid. За исключением использования членов type_info (поведение, определяемое реализацией), обычно (всегда?) Возможно предоставить аналогичные функции с использованием другого C ++ ...
вопрос задан: 19 July 2011 17:02
0
ответов

Получение имени производного класса программным способом

Я пытаюсь сделать что-то вроде: class Base { public: Base () {cout << typeid (* this) .name () << endl; } ... }; class Derived: public Base {...} class MoreDerived: ...
вопрос задан: 2 November 2018 12:15
0
ответов

std :: is_floating_point в некоторых случаях возвращает false для float

В некоторых случаях, см. Один пример ниже, std :: is_floating_point возвращает false для float. #include #include #include int main () {:: std :: cout ...
вопрос задан: 12 September 2018 09:03
0
ответов

C ++: type_info для различения типов

Я знаю, что компиляторы имеют большую свободу в реализации поведения функций std :: type_info. Я подумываю использовать его для сравнения типов объектов, поэтому я хотел бы быть уверен, что: std :: type_info :: name ...
вопрос задан: 14 February 2018 18:19
0
ответов

Утечка памяти после использования typeinfo::name()

У меня есть программа, в которой, частично для информационного лога, я вывожу имена некоторых классов по мере их использования (в частности, я добавляю запись в лог, говорящую примерно следующее Messages::CSomeClass ....
вопрос задан: 23 May 2017 12:22
0
ответов

Будет ли несколько вызовов typeid (T) .name () возвращать один и тот же указатель?

В C ++ я могу использовать оператор typeid для получения имени любой полиморфный класс: const char * name = typeid (CMyClass) .name (); Строка, на которую указывает возвращаемый const char *, будет доступна для ...
вопрос задан: 23 May 2017 11:55
0
ответов

Почему std :: type_info не копируется? Могу ли я где-нибудь его хранить?

Класс std :: type_info нельзя копировать. Это затрудняет сохранение его в объекте для последующего использования. Что мне делать?
вопрос задан: 12 February 2015 23:21
0
ответов

Странное использование `?:` В ` typeid` code

В одном из проектов, над которыми я работаю, я вижу эту структуру кода Base {virtual ~ Base () {} }; struct ClassX {bool isHoldingDerivedObj () const {return typeid (1? * m_basePtr: * m_basePtr) ...
вопрос задан: 23 January 2015 23:40
0
ответов

C++ -typeid (), используемый в производном классе, не возвращает правильный тип

Возможно, я неправильно понимаю, как здесь работает наследование, но вот моя проблема :У меня есть класс Option и производный от него класс RoomOption. У меня есть другой класс Room, который содержит вектор...
вопрос задан: 14 July 2012 13:17
0
ответов

Выполнение различных методов на основе типа переменной шаблона

Есть ли способ определить тип переменной, переданной в шаблон, и вызвать функцию на основе того, является ли она типом int или std ::строка и т.д...? Например, шаблон <класс T> структура Jam { Jam(T *...
вопрос задан: 13 June 2012 18:39
0
ответов

gdb:показать typeinfo некоторых данных

По сути, я хочу получить typeid(*this).name(), т.е. реальный тип this. Я хочу получить это в GDB (без изменения исходного кода). Я попытался напечатать typeid(*this), но он говорит, что typeid - это...
вопрос задан: 5 March 2012 14:21
0
ответов

Почему использование ключевого слова typeid является плохим дизайном?

Я слышал, что многие люди говорят, что любое использование typeid является плохим дизайном, но мне кажется, что это предлагает отличная полезность. Когда (и почему) использование typeid является «плохим дизайном»? Когда допустимо использование typeid?...
вопрос задан: 3 March 2012 15:46
0
ответов

почему typeid возвращает, что int и const int являются одними и теми же типами

if (typeid (int) == typeid (const int)) cout << "Одинаковые типы" << endl; ВЫВОД ПРОГРАММЫ: одинаковые типы. Я что-то упустил? это не одни и те же типы, лол.
вопрос задан: 17 January 2012 02:28
0
ответов

рекурсивный шаблон с переменными параметрами для печати содержимого пакета параметров

Как можно создать рекурсивный шаблон с переменными параметрами для печати содержимого пакета параметров? Я пытаюсь это сделать, но не удается скомпилировать: template
вопрос задан: 11 January 2012 15:01
0
ответов

Должны ли TypeIds двух семантически идентичных атрибутов быть разными или одинаковыми?

В MSDN говорится о свойстве TypeId следующее: Как реализовано, этот идентификатор является просто Type атрибута. Однако предполагается, что уникальный идентификатор будет использоваться для идентификации двух атрибутов ...
вопрос задан: 4 January 2012 14:51
0
ответов

Существует ли переносимая оболочка для C ++ type_info, которая стандартизирует формат строки имени типа?

Формат вывода type_info :: name () зависит от конкретной реализации. пространство имен N {struct A; } const N :: A * a; TypeId (а) .name (); // возвращает, например "const struct N :: A", но специфичная для компилятора ...
вопрос задан: 19 December 2011 21:03
0
ответов

tərtib zamanı C ++ növü id

Mən tərtib zamanı əldə etdiyi növə əsasən bir sinif üçün bir hash yaratmaq istəyirəm. Bu gün bunu belə yaradıram: şablon sinif TypeBase { public: static const imzasız s_kID; }; ...
вопрос задан: 22 August 2011 14:19
0
ответов

Каков срок жизни объекта, возвращаемого оператором typeid?

Если я вызываю typeid и получаю адрес возвращенного type_info: const type_info * info = & (typeid (Something)); каково время жизни объекта, возвращаемого typeid, и как долго будет ...
вопрос задан: 11 August 2011 11:11
0
ответов

Использование RTTI для определения графа наследования в C ++?

Какие существуют конструкции C ++ для перечисления предков класса во время выполнения, если таковые имеются? По сути, у меня есть класс, который хранит указатель на любой объект, включая, возможно, примитивный тип (в некоторой степени ...
вопрос задан: 9 August 2011 07:07
0
ответов

C ++: Использование typeid в производственный код

Считается ли обычно плохой практикой использовать typeid в производственном коде? Кроме того, я заметил, что typeid возвращает type_info, который включает некоторые метаданные (например, строку с именем типа); есть ли способ ...
вопрос задан: 16 June 2011 08:02
0
ответов

Головоломка: Чтобы избежать проверки typeid

, я случайно сформулировал хороший вопрос для интервью. :) шаблон bool foo (T obj) {если (typeid (T) == typeid (obj)) вернуть false; вернуть истину; // <- выполнить это } Вы должны ...
вопрос задан: 18 May 2011 09:56
0
ответов

разыменование нулевого указателя в typeid

При исследовании недавнего вопроса я натолкнулся на следующее предложение в стандарте '03 [1]: Когда typeid применяется к выражению lvalue, тип которого является полиморфным типом класса (10.3), ...
вопрос задан: 17 May 2011 09:14