Сохранение значения указателя на специализированную функцию шаблона

Я хотел бы использовать некоторое сопоставимое представление типа, которое не является прямым, как std::is_same<> и не использует RTTI. __PRETTY_FUNCTION__ макрос дает одинаковую строку для 2 разных классов с одинаковыми именами, определенными в разных файлах.cpp в анонимных пространствах имен, и сравнение строк выполняется медленно.

Давайте рассмотрим такой кусок кода:

template<typename T>
void func() {}

int main() {
    std::cout << reinterpret_cast<size_t>(&func<int>) << std::endl;
    std::cout << reinterpret_cast<size_t>(&func<float>) << std::endl;
}
  1. Хранение числового значения указателя на специализированную функцию шаблона хорошо определенное поведение? Это не будет называться нигде.
  2. Будет ли оно иметь одинаковое значение в разных.cpp файлах для одной и той же специализации?
  3. Будет ли оно иметь такое же значение между динамически связанными библиотеками - возможно, нет?

0 ответов

Другие вопросы по тегам