string模拟实现【】
这里分为const修饰和不用const修饰,所以我们实现两种:
所以我们实现也得实现两种方式
代码实现:
//修改字符的实现 char& string::operator[](size_t i) { assert(i < _size && i >= 0); return _str[i]; } const char& string::operator[](size_t i)const { assert(i < _size && i >= 0); return _str[i]; }
代码解释:
- 首先我们采取一个断言,因为我们改变的数值是在数组规定范围里面,所以我们需要采取一个断言,不能越界
- 我们返回数值,返回的数值是可以修改的字符这里是私域成员变量,类似于一个get函数。
代码测试
测试之后,我们发现没有问题