您现在的位置是:首页 >技术交流 >【C++初阶】9. string类的模拟实现网站首页技术交流
【C++初阶】9. string类的模拟实现
简介【C++初阶】9. string类的模拟实现
1. string类的成员
string类的作用就是将字符串类型实现更多功能,运算符重载,增删改查等等操作,所以其成员就包含char*的字符串
private:
char* _str;
size_t _capacity;
size_t _size;
2. 构造函数
2.1 带参构造函数
在之前的学习过程中,我们了解到类中存在的六个默认函数,其中就包含默认构造函数,那么对于string类是否需要用户自己实现构造函数呢?
答案是需要的,我们需要根据字符串的长度开辟空间,也需要将字符串拷贝到开辟的空间当中
// 带参的构造函数
string(const char* str)
{
_capacity = strlen(str);
_size = _capacity;
_str = new char[_capacity + 1];
strcpy(_str, str);
}
我们的代码实现中_capacity是计算到’ ’停止,所以在堆上new的时候要加1,给’ ’预留空间
2.2 不带参构造函数
string()
{
_str = new char[1];
_str[0] = '