#include <iostream>
using namespace std;
template<typename T>
class vector
{
public:
vector(int size = 10)
{
first = new T[size];
last = first;
end = first + size;
}
~vector()
{
delete[]first;
first = last = end = nullptr;
}
vector(const vector<T> &src)//拷贝
{
int size = src.end - src.first;
first = new T[size];
last = first;
for (T *p = src.first; p != src.last; ++p)
{*last++ = *p; }
end = first + size;
}
vector(vector<T> &&src)
{
first = src.first;
last = src.last;
end = src.end;
src.first = src.last = src.end = nullptr;
}
void operator=(const vector<T> &src)//赋值
{
if (this == &src) return;
delete[]first;
int size = src.end - src.first;
first = new T[size];
last = first;
for (T *p = src.
C++ 类模板实现容器
最新推荐文章于 2024-07-27 14:22:20 发布
本文深入探讨了如何使用C++的类模板来实现自定义的容器,包括模板的基本概念、类模板的定义与实例化,以及如何利用模板实现类似std::vector和std::map的功能。通过实例代码,详细解释了模板参数、类型推断和模板特化等关键概念,帮助读者掌握C++中构建高效、泛型的容器技巧。
摘要由CSDN通过智能技术生成