派生数据类型与抽象数据类型

Derived datatypes vs Abstract Datatypes

在阅读 c++ 时,我遇到了派生数据类型,例如 arraystructunions 等。但是我们还研究了 [=14] =]、queuesbinary search treetreesADT

我想知道,这些 ADT 派生数据类型也是吗?

数组、结构、联合或指针是 C++ 从 C 继承的派生类型。它们允许从基本类型 (intlongfloat 中创建新的数据类型。 ..).

在 C++ 中,您还有标准模板库 (STL),它们是抽象类型。它们与派生类型的不同之处在于它们 类 使用 templates.

所以,回答你的问题,抽象类型比派生类型更强大,因为模板机制具有更丰富的语义。例如,在 C++ 中,您可以有一个抽象结构:

template <typename T> 
struct mytype { 
    T value;
};