gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 18:15:21 25 4
gpt4 key购买 nike

我一直在读这个词:

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

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

最佳答案

据我所知:

  1. 模板编程 只是指经典的“使用模板编程”,即“我有一个函数/类,我想将其用于任何类型,我会把它做成模板”。

    它也可以被视为“包罗万象”的类别,包括任何使用模板的编程技术。

  2. 泛型编程可以综合描述为STL使用的编程范式。

    维基百科将其定义为

    a style of computer programming in which algorithms are written in terms of to-be-specified-later types that are then instantiated when needed for specific types provided as parameters

    恕我直言,最好是说所有容器都设计用于任何类型(不牺牲类型安全性)并且算法设计得足够通用以适用于任何容器类型(只要使用它们是明智的) ,显然,即对无序容器进行排序是没有意义的)。

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

    一般来说,模板编程泛型编程部分重叠,许多人使用术语泛型编程和< em>模板编程可互换。

  3. 模板元编程 是一种编程风格,其中模板用于执行编译时计算/决策/检查,如果没有模板(静态断言、编译时常量计算,...)。

    这样的代码通常很做作,因为 C++ 不是为这种编程风格设计的(实际上是后来“发现”的),并且 C++ 程序员可能看起来不熟悉,因为它经常接近函数式编程(没有很好的语法设施),而不是遵循 C++ 中通常使用的命令式范例。

关于C++,使用模板编程的术语/习语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4483642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com