从静态方法获取类的类型

Get type of class from a static method

本文关键字:类型 获取 静态方法      更新时间:2023-10-16

我有一个静态方法的模板类,理想情况下我想添加到这个方法类似于这个std::cout << decltype(this) << std::endl;,但这不会编译,因为我不能在静态方法内使用this。我在这里找到了一个工作示例(不确定我是否可以打印decltype输出),但它也使用this,所以我不能在静态方法中使用它。我被迫在构造函数中使用它,但我还没有放弃。有人知道如何在静态方法中打印类类型吗?

你的意思是:

#include <iostream>
#include <typeinfo>
template <typename T>
class C
{
public:
    static void print()
    {
        std::cout << typeid(C).name() << std::endl;
    }
};
int main() {
    C<int>::print();
    C<char>::print();
    return 0;
}