使用 decltype 获取对象的类型,然后查找类型中使用的模板

问题描述

抱歉,如果这是重复的,但我很难找到正确的搜索词,所以我很乐意重定向

我有一个这样的模板类:

template <typename T1>
class my_class {
//stuff
}

现在在其他地方我有一个返回 myclass 的函数,但我使用的是 auto 所以我不知道类型。我想了解T1。所以是这样的:

auto my_class_object = function(...);
decltype(my_class_object)::T1 other_variable;

这第二行不起作用,但有什么东西可以实现这种行为(使用 c++11)?

我想到的一个解决方案我没有测试过,因为我不太喜欢它:

template <typename T1>
class my_class {
typedef T1 template_type1
//stuff
}

然后使用:

auto my_class_object = function(...);
decltype(my_class_object)::template_type1 other_variable;

我希望有比这个解决方案更优雅的东西,但如果没有,我就会去做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)