vector和数组 swap

http://blog.csdn.net/yang382197207/article/details/43564535 

http://www.cnblogs.com/graphics/archive/2010/03/08/1680573.html

http://blog.csdn.net/u012160954/article/details/50715259

http://zhidao.baidu.com/link?url=n9m1MDYLPtSC0RiuFV2bldYxGKv2uNANv1TlSRfgSWk9MrtWCLBux9XcU7-j1opRyvn0uMkhzMgCKeY7FDLcJ_


C++ STL 中的 vector 类的源码可以在 C++ 标准库的头文件 vector 中找到。下面是一个简化版的 vector 类的源码,仅包含部分关键代码: ```c++ template <typename T> class vector { public: // 构造函数 vector(); vector(size_t size); vector(size_t size, const T& value); vector(const vector<T>& other); // 析构函数 ~vector(); // 迭代器 typedef T* iterator; typedef const T* const_iterator; iterator begin(); iterator end(); const_iterator begin() const; const_iterator end() const; // 容量 size_t size() const; size_t capacity() const; void resize(size_t size); void reserve(size_t capacity); // 访问元素 T& operator[](size_t index); const T& operator[](size_t index) const; T& front(); const T& front() const; T& back(); const T& back() const; // 修改容器 void push_back(const T& value); void pop_back(); void clear(); void swap(vector<T>& other); private: T* m_data; // 指向存储元素的数组的指针 size_t m_size; // 元素个数 size_t m_capacity; // 数组容量 }; ``` vector 类是一个动态数组,可以存储任意类型的元素。vector 内部使用一个指针 `m_data` 指向存储元素的数组,使用两个变量 `m_size` 和 `m_capacity` 分别记录元素个数和数组容量。 vector 类提供了许多方法来操作容器,包括构造函数、析构函数、迭代器、容量、访问元素和修改容器等。其中,常用的方法包括 `push_back` 在末尾插入元素、`pop_back` 删除末尾元素、`size` 获取元素个数、`reserve` 预分配存储空间、`operator[]` 访问元素等。 以上是一个简单的 vector 类的源码,实际上 vector 类的实现还包括一些复杂的细节处理,比如内存分配和释放、元素构造和析构、迭代器失效等。如果您想深入了解 vector 类的实现原理,建议查阅 C++ 标准库的源码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值