【问题标题】:OOP Terminology: "Container" & "Collection"OOP 术语:“容器”和“集合”
【发布时间】:2010-10-16 05:09:42
【问题描述】:

C++ 术语“容器”是否只是 Java 术语“集合”的同义词?

【问题讨论】:

  • +1 昨天还在考虑这个问题

标签: java c++ oop terminology


【解决方案1】:

Container (wikipedia)
Collection (wikipedia)

如果我理解正确 - 通常这种差异并不显着。

当我们谈论对象组时,我们会说“对象集合”。
如果我们谈论包含一组对象的数据结构,我们说容器。

例如:std::vector - 整数集合或包含整数的容器向量。

【讨论】:

    【解决方案2】:

    是的。

    不过,如果我可以在这里推测一下,C++ 术语 container 更好地强调了所包含项目的所有权,而不是 Java 的 collection,其中没有明确的内存所有权(由于垃圾收集)。

    当容器被销毁时,C++ 容器中的项目也被销毁(因此项目被包含或拥有),在 Java 中,如果集合本身被垃圾回收,项目可能会继续存在。

    【讨论】:

    • 如果容器只包含指针,那么对象本身不会被破坏!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 2010-09-22
    • 2020-09-20
    相关资源
    最近更新 更多