如何根据变量值习惯性地调用C函数?
发布时间:2020-12-16 06:45:27 所属栏目:百科 来源:网络整理
导读:假设我有一个数据类型枚举TreeTypes {TallTree,ShortTree,MediumTree}. 我必须根据一种特定的树类型初始化一些数据. 目前我已经写了这段代码: int initialize(enum TreeTypes tree_type) { if (tree_type == TallTree) { init_tall_tree(); } else if (tree
假设我有一个数据类型枚举TreeTypes {TallTree,ShortTree,MediumTree}.
我必须根据一种特定的树类型初始化一些数据. 目前我已经写了这段代码: int initialize(enum TreeTypes tree_type) { if (tree_type == TallTree) { init_tall_tree(); } else if (tree_type == ShortTree) { init_short_tree(); } else if (tree_type == MediumTree) { init_medium_tree(); } return OK; } 但这是某种愚蠢的代码重复.我没有使用任何强大的C功能,如模板. 我怎么能更好地编写这段代码? 谢谢,Boda Cydo. 解决方法
您的代码对于两个或三个值是可以的,但是您是对的,当您拥有数百个时,您需要更具工业实力的东西.两种可能的解决方
>使用类层次结构,而不是枚举 – 然后您可以使用虚函数并让编译器确定要调用的实际函数 模板在这里工作得不好,因为你试图在运行时做出决定,而模板在编译时做他们的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ReactOS 源码分析 (二) By:ProgrammeBoy
- pdf-generation – 将Open XML保存为PDF格式
- 为了生成只读的接口和xml,并命名结尾为MapperR.java和Mapp
- Project Perfect让Swift在服务器端跑起来-让Perfect更Rail
- 在.NET中使用Newtonsoft.Json转换,读取,写入.
- Xml架构:空targetNamespace
- 淘宝sdk模板制作所需的部分资料(个人常用)
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?
- xml是什么?什么是XML?XML有什么用处?xml可以用来做什么?
- xml零配置之AbstractAnnotationConfigDispatcherServletIni