序列容器
1.string
class string{
string(const char* str = ""){
if(str == nulptr){
assert(false);
return;
}
_str = new char[strlen(str) + 1];
strcpy(_str,str);
}
string(const string& s)
:_str(new char[strlen(s._str)+1])
{
strcpy(_str,s._str);
}
string& operator=(const string& s)
{
if(this != &s)
{
char* pstr = new char[strlen(s._str)+1];
strcpy(pstr,s._str);
delete[] _str;
_str = pstr;
}
return *this;
}
~string()
{
if(_str)
{
delete[] _str;
_str = nullptr;
}
}
private:
char* _str;
}
2.vector
是可变大小的数组
template<class T>
class vector
{
private:
iterator _start;
iterator _finish;
iterator _endofstorage;
public:
typedef T* iterator;
typedef const T* const_iterator;
iterator begin(){return

本文详细介绍了C++中四种基础数据结构的实现:字符串类,使用动态内存管理;向量类,具备动态大小调整功能;双向链表结构的节点类;以及栈和队列的简单实现,分别基于向量和列表。这些数据结构是编程中常用的基础工具,理解其内部工作原理有助于提升编程能力。
最低0.47元/天 解锁文章
5878

被折叠的 条评论
为什么被折叠?



