Можно ли генерировать постоянное значение во время компиляции?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Можно ли генерировать постоянное значение во время компиляции?

Сообщение Anonymous »

Я бы хотел, чтобы каждый тип моих классов идентифицировался по уникальному хеш-коду. Но я не хочу, чтобы эти хэши генерировались каждый раз, когда метод, например. int GetHashCode() вызывается во время выполнения. Я хотел бы использовать уже сгенерированные константы и надеялся, что есть способ заставить компилятор выполнить некоторые вычисления и установить эти константы. Можно ли это сделать с помощью шаблонов? Не могли бы вы привести мне пример, если это возможно?

ОБНОВЛЕНИЕ:

Благодаря комментарию Крисса я понял, что мой вопрос должен звучать так:
Как выполнить проверку типов с наименьшими затратами во время выполнения?

Я хотел бы проверить указатель на объект на соответствие типу класса. Только классы, которые я реализую в своих библиотеках, поэтому я думал о каком-то индивидуальном хешировании, отсюда и исходный вопрос. Я рассматривал возможность использования typeid, но мне неизвестна стоимость его использования во время выполнения. Я предположил, что, поскольку typeid создает класс type_info, он будет более трудоемким, чем простое сравнение уникальных значений int.

Подробнее здесь: https://stackoverflow.com/questions/304 ... ompilation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»