实现一个 std::vector

简介

vector 的功能有很多. 最基础的就是通过成员函数push_back() 或 emplace_back() 往 vector 尾部添加一个元素, push_back() 仅支持一个元素作为参数, 而emplace_back() 可以传入多个参数, 把这些参数作为新添加的元素的构造函数的参数. 需要注意的是, 我们应当区分 emplace_back() 和 push_back()的本质, 两者虽然都是往尾部添加一个元素, 但是底层机制不太一样, 笔者将会在后文着重讨论. 当然, 有push_back()也自然会有pop_back()函数.