C++编程(E)

Pushbackgrape sortfruitbegin fruitend

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 迭代器基类,这样,在使用标准容 器或者迭代器时就不涉及任何显式或隐式的运行时 类型检查 最重要也是最困难的问题是如何为所有容器提供公 共的服务,这个问题是通过模板参数传递的“分配 器”(allocator)处理的,没有通过公共基类 STL广泛而深入的依靠模板机制,为避免大量的代 码重复,通常需要通过专门化的方式,为保存指针 的容器提供共享的实现 Beijing University of Posts & Telecommunications Beijing [email protected] 16.3 向量(vector) 作为标准库的一个完整例子,除非另有说 明,关于vector所说的情况都适用于每种标 准库容器 17章将描述list, set, map等的专有特征 对vector的介绍分几个步骤进行:成员类 型、迭代器、元素访问、构造函数、堆栈操 作、表操作、大小和容量、协助函数、以及 vector<bool> Beijing University of Posts & Telecommunications Beijing [email protected] 16.3.1 类型 template <class T, class A = allocator<T> > class std: :vector { public: // types: typedef T value_type; // 元素类型 typedef A allocator_type; // 存储管理器类型 typedef typename A::size_type size_type; // 一般做容器下标size_t typedef typename A::difference_type difference_type; // ptrdiff_t typedef implementation_dependent1 iterator; // T*...
View Full Document

This note was uploaded on 02/10/2014 for the course ECE C++ taught by Professor Xiaoshengtang during the Fall '13 term at BUPT.

Ask a homework question - tutors are online