首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++,使用模板编程的术语/成语

C++,使用模板编程的术语/成语
EN

Stack Overflow用户
提问于 2010-12-19 15:33:07
回答 2查看 290关注 0票数 6

我一直在读这个词:

  1. 模板编程
  2. 通用程序设计
  3. 元程序设计
  4. 也许另一个成语/术语..。

对于任何使用模板的c++代码,哪一个是正确的还是更准确的术语?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-19 15:43:49

AFAIK:

  1. 模板编程只是指经典的“用模板编程”,即“我有一个函数/类,我想让它在任何类型中都可用,我只会使它成为模板”。 它也可以被看作是“所有的”类别,包括任何使用模板的编程技术。
  2. 泛型编程可以被综合描述为STL所使用的编程范式。 维基百科将其定义为 一种计算机编程风格,其中的算法是按照要指定的以后的类型编写的,然后在需要时对作为参数提供的特定类型进行实例化。

IMHO,更好的说法是,所有容器都设计用于任何类型(而不牺牲类型安全),算法设计得足够通用,可以在任何容器类型上工作(只要使用它们是明智的,显然,对无序容器进行排序是没有意义的)。

请注意,泛型编程(使用此定义)并不严格要求使用模板,事实上,它可以通过继承和动态多态(感谢Ben )来实现。

一般来说,我会说模板编程和泛型编程部分重叠,许多人交替使用泛型编程和模板编程这两个术语。

  1. Template元编程是一种编程风格,其中模板用于执行编译时计算/决策/检查,通常没有模板(静态断言、编译时常量计算、.)。 这样的代码通常是精心设计的,因为C++不是为这种编程风格而设计的(实际上是后来“发现”的),而且C++程序员可能不熟悉它,也是因为它经常接近函数式编程(没有很好的语法功能),而不是遵循通常在C++中使用的命令式范例。
票数 15
EN

Stack Overflow用户

发布于 2010-12-19 15:34:47

它通常被称为泛型编程

模板编程不是正常使用模板,而是在编译时对模板类型进行操作(参见boost.Mpl)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4483642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档