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

Derived datatypes vs Abstract Datatypes

本文关键字:抽象数据类型 数据类型 派生      更新时间:2023-10-16

在阅读c++时,我遇到了派生的数据类型,如arraystructunions等。然而,我们也研究stacksqueuesbinary search treetrees作为ADT

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

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

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

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

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