存储指向专用模板功能的指针的值

时间:2018-09-03 08:17:02

标签: c++ templates metaprogramming undefined-behavior rtti

我想使用一些可比较的类型表示形式,它不像std :: is_same <>那样直接,并且不使用RTTI。 __PRETTY_FUNCTION__宏为匿名命名空间中不同.cpp文件中定义的具有相同名称的2个不同类提供相同的字符串,并且比较字符串很慢。

让我们考虑这样的一段代码:

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 个答案:

没有答案