簡體   English   中英

說C ++中的數組或Python中的列表是Class是否正確? 數據結構? 或兩者?

[英]Is it correct to say that array in C++ or list in Python is a Class? A Data Structure? Or Both?

我在一個教程中聽說過:“在面向對象的編程語言中,它們的標准庫中提供了預先提供的類,例如字符串和數組,因此您無需在定義該類型的對象之前自行定義這些類。” 我還聽到我的教授說:“解決這個問題的最佳數據結構是數組”。 那么將數組同時視為類和數據結構是否正確呢?

在Python中,數組既是類又是數據結構。

在C ++中,數組不是類。 它只是內存中包含元素數據的連續區域。

但是,您確實有std :: vector ,這是一個包裝數組的類。 那是一個類和一個數據結構。

“在面向對象的編程語言中,它們的標准庫中提供了預先提供的類,例如字符串和數組,因此在定義該類型的對象之前,您無需自己定義這些類。”

正確。
C ++標准庫提供了許多模板容器類,因此人們可以只使用那些而不是編寫自己的類。 由於這些都是基於模板的類,因此只需將它們用於自己的數據類型,只要該類型滿足對標准庫容器提出的一些基本要求即可。
您可能想偷看一下它們是什么: 標准庫容器

“解決此問題的最佳數據結構是數組”

不正確。
答案取決於:

  • 您要存儲什么數據和
  • 您要對該數據執行哪些操作

讀得好:
如何在C ++ 11中有效選擇標准庫容器?

數組是數據類型 在某些語言中,它可以作為類實現,但不是必須的。 C ++數組不是類。 Python數組被實現為類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM