c ++模板化为特定类型而不使用传统的模板专业化

时间:2012-02-20 16:58:18

标签: c++ templates

template <typename T_>
class my_class {
public:
       typedef T_   value_type;
       typedef T_ * pointer;

我正在开发一个模板化的类,但是因为C ++错误检测和intellisence吸取模板化的东西,有没有办法我可以将模板设置为示例int以获得intellisence的好处,然后当我完成时开发只是将其切换回来修复一些错误?

我仍然希望我的代码是通用的并重新编写它,因为模板专业化太多了。

我希望能够做一些像

这样的事情
template <typename T_ = int>
class my_class {
public:
       typedef T_   value_type;
       typedef T_ * pointer;

1 个答案:

答案 0 :(得分:1)

我不完全确定我理解您要完成的任务,但您可以在课程中输入T_int并通过预处理器禁用模板语句或评论出来。

#ifndef NO_MY_CLASS_TEMPLATE
template <typename T_ = int>
#endif
class my_class {
#ifdef NO_MY_CLASS_TEMPLATE
       typedef int T_;
#endif
public:
       typedef T_   value_type;
       typedef T_ * pointer;