我目前正在编写一些日志代码,其中包括打印有关调用函数的信息。这应该相对容易,标准 C + + 有一个 type_info
类。它包含 typeid’d 类/函数/等的名称,但是它被破坏了。没什么用。即 typeid(std::vector<int>).name()
返回 St6vectorIiSaIiEE
。
有没有什么方法能从这个中得到有用的东西?对于上面的例子,类似于 std::vector<int>
。如果它只适用于非模板类,那也没问题。
这个解决方案应该适用于 gcc,但是如果我能够移植它会更好。它是用于日志记录的,所以不会因为太重要而无法关闭,但它应该对调试有帮助。