c++ stl vector实现
来源:互联网 发布:淘宝联盟优惠卷设置 编辑:程序博客网 时间:2024/06/12 22:41
template<typename Object>
class vector
{
private:
Object* objects;
unsigned int theSize;
unsigned int theCapacity;
public:
explicit vector(int initSize=0);
vector(const vector<Object>& rhs);
void push_back(const Object& x);
void pop_back();
unsigned int size();
bool empty();
const vector& operator=(const vector<Object>& rhs);
Object& operator[](int index);
iterator begin();
iterator end();
};
template<typename Object>
vector<Object>::vector(int initSize):theSize(initsize),theCapacity(initSize+SPARE_CAPACITY)
{
objects = new Object[theCapacity];
}
template<typename Object>
vector<Object>::vector( const vector<Object>& rhs):objects(NULL)
{
this.operator=(rhs);
}
template<typename Object>
const vector vector<Object>::operator=(const vector<Object>& rhs)
{
delete []objects;
theSize = rhs.theSize;
theCapacity = rhs.theCapacity;
for(int i=0;i<rhs.size();i++)
{
objects[i]=rhs.objects[i];
}
return this;
}
template<typename Object>
unsigned int vector<Object>::size()
{
return theSize;
}
template<typename Object>
Object& vector<Object>::operator[](int index)
{
return objects[index];
}
template<typename Object>
bool vector<Object>::empty()
{
return theSize==0;
}
template<typename Object>
void vector<Object>::push_back(const Object& x)
{
if(theSiz==theCapacity)
reserve(2*theCapacity+1);
object[theSize++]=x;
}
template<typename Object>
void vector<Object>::pop_back()
{
object* s = objects[theSize];
delete s;
theSize--;
}
template<typename Object>
itertor vector<Object>::begin()
{
return &object[0]
}
template<typename Object>
itertor vector<Object>::end()
{
return &object[theSize]
}
template<typename Object>
itertor vector<Object>::begin()
{
return &object[0]
}
- 【STL C++】简单实现vector
- C模板实现STL容器中的vector
- 动态数组对比STL vector及其实现(c/c++)
- C++stl vector 用法
- c++STL之vector
- C++STL之vector
- C++STL之vector
- C++:STL vector讲解
- C++STL--vector
- C++STL之vector
- STL vector 容器实现
- STL vector实现(一)
- STL vector实现
- 自己实现 STL vector
- STL vector实现
- stl--vector 操作实现
- STL-vector的实现
- 【STL】 vector 模拟实现
- layui use 定义js外部引用函数
- haproxy+keepalived实现高可用负载均衡
- shell 选择打印部分输出内容
- Vue.js学习笔记
- Tomcat配置外部应用和虚拟主机
- c++ stl vector实现
- c# 导入excel处理数据,导出excel报表
- C语言函数书写
- hdu2647 Reward【拓扑排序】
- 用ngrok实现外网访问本地WEB项目的方法
- HTML5 2017.07.21
- LeetCode
- RESTful架构简介
- 为什么Integer a=100,b=100时候a==b返回true,而Integer c=1000,d=1000时候c==d返回fa