C++:【常见面试题】String类的写法
来源:互联网 发布:陶哲轩智商知乎 编辑:程序博客网 时间:2024/06/05 09:50
#include<iostream>#include<stdlib.h>using namespace std;class String{public: String(const char* str) :_str(new char[strlen(str) + 1]) // \0 { strcpy(_str, str); } String(const String& s) :_str(NULL) //若不赋空则为随机值,随机值_str析构函数释放指针会崩溃 { String tmp(s._str); //重新开辟空间 swap(_str, tmp._str); } //String& operator = (const String& s) //{ // if (this != &s) //不是自己给自己赋值 // { // String tmp(s._str); //重新开辟空间 // swap(_str, tmp._str); // } // return *this; //} String& operator = (String s) { swap(_str, s._str); return *this; } ~String() { if (_str) { delete[] _str; //注意与new char[n]匹配 } } char* CStr() { return _str; } char& operator[](size_t index) //重载输出单个字符 { return _str[index]; }private: char* _str;};void Test2(){ String s("change world"); cout << s[1] << endl; s[1] = 'x'; cout << s.CStr() << endl;}int main(){ Test2(); system("pause"); return 0;}
0 0
- C++:【常见面试题】String类的写法
- 【C语言】【面试题】C++中String类浅拷贝,深拷贝的传统写法与现代写法
- 【C语言】【面试题】C++中String类引用计数器的浅拷贝写法与深拷贝写法
- String类常见面试题
- C++【常见面试题】String类的实现,以及深拷贝、浅拷贝问题
- String常见面试题
- 面试题中常见的String类问题
- 面试题中常见的String类问题 .
- 面试题中常见的String类问题
- 面试题中常见的String类问题
- Java中String类的常见面试题
- 常见的C++面试题之String类
- Java中String类的常见面试题
- 【java】String类常见面试题
- Java-String类常见面试题
- C常见面试题
- C常见面试题
- c string 面试题
- C++【面试题】:类实现万年历(日期计算器),(含构造函数、拷贝构造、运算符重载、析构函数)
- struts2中文件下载以及中文乱码
- C语言【顺序表】冒泡排序,一次选出最大最小的数据,二分查找,初始化顺序表
- C语言【顺序表】顺序表的初始化,头插,尾插,头删,尾删,增删查改,全删
- UE使用123
- C++:【常见面试题】String类的写法
- C++【String类】String查找单个字符,查找字符串的函数实现
- Android中服务的生命周期回调方法
- C++【String类】String删除单个字符,删除字符串的函数实现
- C++【String类】String插入单个字符,插入字符串的函数实现
- C++【String类】String头插单个字符,头删单个字符的函数实现
- 常用汽车维修保养小知识——电瓶的养护
- C++【常见面试题】String类的实现,以及深拷贝、浅拷贝问题
- 【笔试常考】C语言:深度剖析strlen,sizeof