You need to enable JavaScript to run this app. C++能否向方法传递类型或在方法内判定类型,实现无类模板的列表打印?
优惠活动
大模型
产品
解决方案
定价
更多

C++能否向方法传递类型或在方法内判定类型,实现无类模板的列表打印?

自定义泛型列表的自动类型适配打印实现问题

当前实现状态

  • 正在自行开发支持存储任意类型数据的列表结构,目标是列表可根据存储的实际数据类型,自动匹配对应打印逻辑完成输出
  • 目前已完成整数、字符两类数据的存储测试,为适配不同类型的打印需求,单独编写了print_int、print_char两个专属打印方法

核心疑问

能否完全不使用类模板机制(即不采用List<type>这类携带显式类型参数的定义形式),仅定义一个通用的print方法,即可根据列表存储的实际数据类型自动适配完成打印?
上述提问明确指的是不采用如下模板类的定义形式:

template <class T>
class List{
  T *data;
  List *next;
  // 其余类实现逻辑省略
};

补充说明

  • 该问题后续可通过C++的dynamic_cast实现动态类型检查,完成对应打印逻辑的自动适配
  • 不少开发者对C++的类型处理能力存在认知偏差,因不了解该问题的正确解法,曾对该提问给出负向投票

内容的提问来源于stack exchange,提问作者Alexander Korovin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 21:24:05