首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将类转换为模板

问将类转换为模板
EN

Stack Overflow用户
提问于 2012-07-12 07:27:01
回答 1查看 63关注 0票数 1

我想要将一个类转换为一个模板,这个类必须访问来自typename T的一些数据。在本例中,typename T可以是一个对象,也可以是一个指向对象的指针。在模板中,我如何判断我是在处理指针还是对象?

我不能用Boost。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-12 07:30:33

您将使用模板专门化。首先,您可以将模板参数视为普通类型来创建模板。

代码语言:javascript
复制
template <typename T>
struct Foo {
    T t_;
    Foo () { std::cout << "regular version" << std::endl; }
};

然后,当模板是指向某个类型的指针时,您可以专门化该模板。

代码语言:javascript
复制
template <typename T>
struct Foo<T *> {
    T *t_;
    Foo () { std::cout << "pointer version" << std::endl; }
};

Foo<int> a;
Foo<int *> b;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11443022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档