c++ 模板化为特定类型,而不使用传统的模板专业化
c++ templating to specific type without using traditional Template Specialization
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;
相关文章:
- 如何使用默认参数等选择模板专业化
- 模板化建造师专业化
- 类模板的成员功能的定义在单独的TU中完全专业化
- 部分专业化和嵌套模板
- 模板专业化可以进入我的.cpp吗?
- 别名模板的专业化 C++11 中没有开销的最佳替代方案
- 部分专业化和对标准::void_t<>的需求
- "专业化不参与超载"
- 特定好友功能专业化
- 是否可以混合使用SFINAE和模板专业化?
- 为什么在班级专业化上会出现错误?
- enable_if如何帮助选择类模板的专业化?
- 与传统的多态处理相比,使用 std::variant 有什么优势?
- std::initializer_list可以专业化吗?
- 在目录中查找所有.cpp.h文件(include,src等)的传统方法
- 派生类中纯虚拟基方法的专业化
- "expected a '>'"类模板专业化?
- Clang不会编译GCC会编译的模板专业化
- 我可以用clang AST从模板专业化中获得默认的模板参数吗
- c++ 模板化为特定类型,而不使用传统的模板专业化