从静态方法获取类的类型
Get type of class from a static method
我有一个静态方法的模板类,理想情况下我想添加到这个方法类似于这个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;
}
相关文章:
- 如何获取std::result_of函数的返回类型
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- 如何获取C++字符数据类型的地址
- C++ - 声明指向返回任何类型并获取任意数量参数的函数的指针
- 如何在没有实例的情况下获取非静态方法的类型?
- 获取 OID(类型::b_oid)作为 MongoDB C++驱动程序中的字符串
- 数组中不同类型的对象并获取每个对象的类型
- 获取可变参数模板参数包的相关类型
- 我可以使用 decltype() 或其他东西通过指针获取真实类型吗?
- 从组件的 std::type_index 获取派生最多的类型
- 在 std::variant 中按类型获取索引
- Cython:如何从C级类型获取'actual Python type'(类型代码/dtype)
- 根据参数类型获取匹配过载
- 编译按映射类型获取元素的映射错误元组
- 将 lambda 参数类型获取到模板参数包中
- 按类型获取元组元素(pre C++0x)
- std::array<T,N> 需要以另一种类型获取
- std::tuple,按继承类型获取项
- Boost变体:根据其类型获取对变体的引用
- 从双精度数据类型获取特定整数的方法