【C++】实现一个简洁版的class String
来源:互联网 发布:杭州seo搜索优化 编辑:程序博客网 时间:2024/04/27 09:53
//实现一个简洁版的class String#include <iostream>#include <string.h>using namespace std;class String{public:String(){_str = new char[1];_str[0] = '\0';}String(const char *str){_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) //普通方法有缺陷{delete[] _str;_str = new char[strlen(s._str) + 1];strcpy(_str, s._str);}return *this;*/if (&s != this) //异常安全的神赋值{String tmp(s._str);swap(_str, tmp._str);}return *this;}~String(){if (_str)delete[] _str;}void print(){cout << _str << endl;}private:char * _str;};int main(){String s1;String s2("abcdef");String s3(s2);String s4 = s3;s1 = s2;s1.print();s2.print();s3.print();s4.print();return 0;}
0 0
- 【C++】实现一个简洁版的class String
- 简洁版String实现
- string类的简洁版实现
- 自我实现一个简洁版的String类——1
- string class的实现
- class String 的实现
- 【C++】简单实现String类--深拷贝的普通版本和简洁版本
- C++string类的一个实现
- 一个简洁的分页实现(一)
- 一个简洁的分页实现(二)
- 一个简洁的分页实现(三)
- 简洁版string类
- string类和智能指针(简洁版)和shareptr简洁版代码实现
- 码农的视角:马云菜鸟物流的一个简洁版实现
- 一个实现MD5的简洁的java类
- 一个实现MD5的简洁的java类
- 一个实现MD5的简洁的java类
- 一个实现MD5的简洁的java类
- 百度坐标和GPS坐标转换
- 查询库中有多少表的SQL语句
- 共享内存
- 二路归并排序及数组中逆序对的计算
- 查询Flex对象的属性
- 【C++】实现一个简洁版的class String
- iOS开发必看的博客汇总
- 初见Groovy
- Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
- UIDatePicker / NSDateFormatter 时差,时制
- Codeforces Round #287 (Div. 2) C. Guess Your Way Out! 数学
- Android 学习汇总
- 完成一个简单的时间片轮转多道程序内核代码(二)
- 政企云计算信息化发展转变