微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 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 举报,一经查实,本站将立刻删除。