是C风格数组,例如int holder[10]
被视为容器吗?我问的原因是,如果它们是逻辑上的有意义
否,它们不是容器,因为在ISO C 标准中,单词"容器"仅正式用于标准库中的容器类。相比之下,阵列的整个部分都不使用"容器"一词。请参阅最新C 17草稿中的§11.3.4。
您可以调用数组为"复合类型","对象的序列"或"聚合",而不是"容器"。
它们不是严格意义上的容器。
c std::array
是一个添加了本机数组丢失的几件事的容器(例如能够按值通过和返回数组)。
no,根据您的链接下的描述,如果不是。阅读您提供的链接,第一个单词:
一个容器是一个存储其他集合的持有物对象 对象(其元素)。它们被用作班级模板, 允许在支持元素的类型中具有巨大的灵活性。
容器管理其元素的存储空间并提供 成员功能可以直接或通过迭代器访问它们 (参考对象具有与指针相似的属性)。
容器复制编程中通常使用的结构: 动态数组(向量),队列(队列),堆栈(堆栈),堆 (Priority_queue),链接列表(列表),树(Set),关联数组 (地图)...