说Python中C++或列表中的数组是否是一个类,这是正确的吗?数据结构?或者两者都有?

2024-04-24 09:49:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个教程中听到过这样的话:“在面向对象编程语言中,在它们的标准库中有一些预先提供的类,比如字符串和数组,因此在定义这种类型的对象之前,您不需要自己定义这些类。”我也听过我的教授说过“解决这个问题的最佳数据结构是“数组”。那么,将数组同时视为类和数据结构是否正确呢?你知道吗


Tags: 对象字符串语言数据结构类型标准定义教程
3条回答

在Python中,数组既是类又是数据结构。你知道吗

C++中,数组不是一个类。它只是内存中包含元素数据的连续区域。你知道吗

但是,确实有std::vector,这是一个封装数组的类。这是一个类和一个数据结构。你知道吗

"In Object Oriented Programming Languages there are pre-provided classes like strings and arrays in their standard library so that you don't need to define those classes yourselves before defining an object of that type."

正确。
C++标准库提供了许多模板容器类,因此可以只使用这些容器类而不是编写自己的类。由于这些类是基于模板的类,因此只需将它们用于自己的数据类型,只要该类型满足标准库容器的一些基本要求即可。
你可能想偷看一下这些是什么:Standard Library Containers

"The best data structure for solving this problem is an array"

不正确。
答案取决于:

  • 要存储的数据
  • 您要对该数据执行什么操作

读得好:
How can I efficiently select a Standard Library container in C++11?

数组是datatype。在某些语言中,它可以作为一个类来实现,但不必这样。C++ arrays不是类。Python arrays被实现为类。你知道吗

相关问题 更多 >