从实例获取类的类型

问题描述 投票:0回答:1

有没有办法从同一个类的对象实例中获取类的类型?像这样:

template <class T>
class A {
public:
    static int value;
    using ClassType = A<T>;

    auto getSelfType(){
        return ClassType;
    }
};

int main(int argc, char** argv){

    A<int> j;

    j.getSelfType()::value = 12;

    return 0;
}
c++ oop templates metaprogramming
1个回答
1
投票

您似乎想声明一个相同类型的变量。在这种情况下使用

decltype
:

A<int> a;
decltype(a) b; // same as: A<int> b;
© www.soinside.com 2019 - 2024. All rights reserved.