派生数据类型与抽象数据类型
Derived datatypes vs Abstract Datatypes
在阅读 c++
时,我遇到了派生数据类型,例如 array
、struct
、unions
等。但是我们还研究了 [=14] =]、queues
、binary search tree
、trees
为 ADT
。
我想知道,这些 ADT
派生数据类型也是吗?
数组、结构、联合或指针是 C++ 从 C 继承的派生类型。它们允许从基本类型 (int
、long
、float
中创建新的数据类型。 ..).
在 C++ 中,您还有标准模板库 (STL),它们是抽象类型。它们与派生类型的不同之处在于它们 类 使用 templates.
所以,回答你的问题,抽象类型比派生类型更强大,因为模板机制具有更丰富的语义。例如,在 C++ 中,您可以有一个抽象结构:
template <typename T>
struct mytype {
T value;
};
在阅读 c++
时,我遇到了派生数据类型,例如 array
、struct
、unions
等。但是我们还研究了 [=14] =]、queues
、binary search tree
、trees
为 ADT
。
我想知道,这些 ADT
派生数据类型也是吗?
数组、结构、联合或指针是 C++ 从 C 继承的派生类型。它们允许从基本类型 (int
、long
、float
中创建新的数据类型。 ..).
在 C++ 中,您还有标准模板库 (STL),它们是抽象类型。它们与派生类型的不同之处在于它们 类 使用 templates.
所以,回答你的问题,抽象类型比派生类型更强大,因为模板机制具有更丰富的语义。例如,在 C++ 中,您可以有一个抽象结构:
template <typename T>
struct mytype {
T value;
};