我有一个带有静态方法的模板类,理想情况下我想在此方法中添加类似std::cout << decltype(this) << std::endl;
的内容,但由于我无法在静态方法中使用this
,因此无法编译。我找到了一个工作示例here(不确定我可以打印decltype
输出)但它也使用this
所以我不能在静态方法中使用它。我被迫在构造函数中使用它,但我还没有放弃。有没有人知道如何在静态方法中打印类类型?
答案 0 :(得分:3)
你的意思是:
#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;
}