从局部变量的 class 中提取静态成员类型
Extract static member type from class of local variable
是否可以从局部变量的 class 中提取静态成员类型?又名
行中的东西
class A {
public:
typedef int constituent_type;
constituent_type a;
A(constituent_type _a) :a(_a) {};
}
int main() {
auto a = A(42);
// ... lots ... of other code; where I have long since forgottten, what the type of a really was
std::max<a::constituent_type>(a, a); //<<<
}
您可以在 C++ 11 或更高版本中使用 decltype
:
decltype(a)::x
现场演示:
是否可以从局部变量的 class 中提取静态成员类型?又名
行中的东西class A {
public:
typedef int constituent_type;
constituent_type a;
A(constituent_type _a) :a(_a) {};
}
int main() {
auto a = A(42);
// ... lots ... of other code; where I have long since forgottten, what the type of a really was
std::max<a::constituent_type>(a, a); //<<<
}
您可以在 C++ 11 或更高版本中使用 decltype
:
decltype(a)::x
现场演示: