9

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

4

2 回答 2

14

是的。

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

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

于 2009-03-29T09:48:17.667 回答
6

容器(维基百科)
集合(维基百科)

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

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

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

于 2009-03-29T10:49:34.477 回答