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

c++ templating to specific type without using traditional Template Specialization

本文关键字:专业化 传统 类型 c++      更新时间:2023-10-16
template <typename T_>
class my_class {
public:
       typedef T_   value_type;
       typedef T_ * pointer;

我正在开发一个模板化类,但是因为C++错误检测和智能对于模板化的东西很糟糕,有没有办法将模板设置为示例 int 以获得智能的好处,然后当我完成开发时只需将其切换回来并修复几个错误?

我仍然希望我的代码是通用的,将其重写为模板专业化工作量太大。

我希望能够做类似的事情

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

我不完全确定我是否理解您要完成的任务,但是您可以通过预处理器或注释掉它来键入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;