【问题标题】:How can a vector of integers hold objects if an integer is not a class?如果整数不是类,整数向量如何保存对象?
【发布时间】:2022-01-30 21:00:42
【问题描述】:

在阅读 C++ 入门第五版时,我遇到了向量的这个定义:

向量是对象的集合,所有对象都具有相同的类型。 集合中的每个对象都有一个关联的索引,它给出 访问该对象。向量通常被称为容器 因为它“包含”其他对象。

如果我有一个整数值向量,那么所有这些对象属于哪个类?因为“int”不是这个链接中的这些答案已经解释的类:

Is int (built in data types) a class in c++?

我还遇到了 IBM 的“数据对象”的概念,在这种情况下,这些是向量所包含的对象吗?因为我一直在阅读这个“数据对象”的概念,但它仍然让我感到困惑。即使它是向量所持有的对象,我的问题仍然存在:它属于什么类?

【问题讨论】:

  • int 是一个类型std::vector 持有一个类型的对象。
  • C++ 中的对象不需要是类类型。在 C++ 中,对象可以是任何类型,包括基本类型,例如 int
  • 您似乎在混合其他语言的知识并将其转移到 c++ 中。同一个词在不同的语境中可能意味着不同的东西。谁说对象必须是类?这是对象的c++ definition。也许这会为你解决问题。
  • object 一词在 C++ 中具有一般含义。内置类型也可以被视为对象。请参阅Object 了解更多信息。
  • 我注意到另一个混淆:“对象”并不意味着“OOP”。这是同一个词,但在不同的上下文中具有不同的含义。

标签: c++ class object oop vector


【解决方案1】:

如果我有一个整数值向量,那么所有这些对象属于哪个类?

根本没有课。整数向量的元素是整数类型的对象。整数类型是基本类型。

【讨论】:

  • 那么这个对象也是数据对象吗?这会让我明白很多事情
  • @Isaias 数据对象是什么意思? C++ 语言中没有类似名称的概念。
  • 我在 IBM 的这个主题上看到了它。你介意给我解释一下吗? ibm.com/docs/en/zos/2.4.0?topic=odod-overview-data-objects
  • @Isaias 据我所知,IBM 所谓的“数据对象”在 C++ 语言中只是称为“对象”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-18
  • 2022-10-30
  • 1970-01-01
  • 2023-04-03
相关资源
最近更新 更多