2

これはチュートリアルで聞いたことがあります。「オブジェクト指向プログラミング言語では、標準ライブラリに文字列や配列などのクラスが事前に用意されているため、そのタイプのオブジェクトを定義する前にそれらのクラスを自分で定義する必要はありません。」また、教授が「この問題を解決するための最良のデータ構造は配列である」と言っているのを聞いたことがあります。では、配列をクラスとデータ構造の両方と見なすのは正しいですか?

4

3 に答える 3

3

Python では、配列はクラスとデータ構造の両方です。

C++ では、配列はクラスではありません。要素データを含むメモリ内の連続した領域です。

ただし、配列をラップするクラスであるstd::vectorがあります。それがクラスとデータ構造です。

于 2012-06-02T08:56:52.200 に答える
2

「オブジェクト指向プログラミング言語では、標準ライブラリに文字列や配列などのクラスが事前に用意されているため、そのタイプのオブジェクトを定義する前にそれらのクラスを自分で定義する必要はありません。」

正しい。
C++ 標準ライブラリには多数のテンプレート コンテナー クラスが用意されているため、独自のクラスを作成する代わりにそれらを使用できます。これらはテンプレート ベースのクラスであるため、型が標準ライブラリ コンテナー用に設定されたいくつかの基本的な要件を満たしている限り、独自のデータ型に使用する必要があります。
それらが何であるかをこっそりのぞき見したいかもしれません:標準ライブラリ コンテナ

「この問題を解決するための最良のデータ構造は配列です」

正しくない。
これに対する答えは、以下によって異なります。

  • 保存したいデータと
  • そのデータに対して実行する操作

よく読んでください:
C++11 で標準ライブラリ コンテナーを効率的に選択するにはどうすればよいですか?

于 2012-06-02T08:55:09.273 に答える
0

配列はデータ型です。一部の言語ではクラスとして実装される場合がありますが、そうである必要はありません。C++ 配列はクラスではありません。Python 配列はクラスとして実装されます。

于 2012-06-03T11:19:50.113 に答える