C++ 实现简单的string
/* 实现一个string满足基本用法 */ class MyString { public: //默认参数 MyString(const char *str=""):m_str(strcpy(new char[strlen(str)+1], str)) { } ~MyString(void) { if (m_str) {//数组形式的删除内存 delete []m_str; m_str = nullptr; } } //深拷贝构造 MyString(const MyString&that):m_str(strcpy(new char[strlen(that.m_str) + 1], that.m_str)) { } //深拷贝赋值 MyString&operator=(const MyString&that) { //防止紫赋值 if (&that!=this) { MyString temp(that);//深拷贝构造,temp是i2的临时对象 swap(m_str, temp.m_str); } return *this; } const char *c_str(void)const { return m_str; } private: char* m_str; };
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步