August 2021
Intermediate to advanced
450 pages
6h 57m
Chinese
容器适配器(container adaptor)为容器提供不同的(通常是受限的)的接口。容器适配器的设计用法就是仅通过其特殊接口使用。特别是,STL容器适配器不提供直接访问其底层容器的方式,也不提供迭代器或下标操作。
从一个容器创建容器适配器的技术是一种通用的按用户需求非侵入式适配类接口的技术。
容器适配器stack定义在<stack>中。它可以描述为下面的部分实现:
即,stack是一个容器接口,容器类型是作为模板实参传递给它的。stack通过接口屏蔽了其底层容器上的非栈操作,接口采用常规命名:top()、push()和pop()。
此外,stack还提供了常用的比较运算符(==、<等)和非成员函数swap()。
默认情况下,stack用deque保存其元素,但任何提供back()、push_back()和pop_back()操作的序列都可使用。例如:
vector通常比deque更快,使用内存也更少。
stack对底层容器使用push_back()来添加元素。因此,只要机器还有可用内存供容器申请,stack就不会“溢出”。另一方面,stack可能向下溢出: ...
Read now
Unlock full access