前言
在分析STL
之前, 我们需要先对template
做一个回忆, 可能我总结的内容你都会了, 也可能你没有了印象了, 但是我还是希望你先浏览一下template的用法. 毕竟STL全部都涉及到了模板, 而template是学习STL的基础.
template使用
template
的使用大大提高了代码的复用性, 抽象性.
- 类模板实例化时并不是每个成员函数都实例化了, 而是使用到了哪个成员函数, 那个成员函数才实例化.
/* ***** 1 *******/
template<class T>
class point
{
public:
point() : x(0), y(0) {
}
point(T x, T y) : x(x), y(y) {
}
T getX() const {
x = y; return x; } // 一般是无法通过编译的, x不允许被修改, 但是这里并没有报错
private:
T x;
T y;
}