news 2026/4/21 12:12:46

【C++笔试题】实现自定义String类中的成员函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C++笔试题】实现自定义String类中的成员函数

题目:

实现自定义String类中的成员函数

class MyString { public: MyString(const char* str = nullptr); MyString(const MyString& other); MyString& operator=(const MyString& other); ~MyString(); private: char* _str; size_t _length; };

重点:

1.深拷贝

2.拷贝赋值运算符要处理自赋值

// 1. 带默认参数的构造函数实现 MyString::MyString(const char* str) : _length(0) { if (str == nullptr) { _str = new char[1]; _str[0] = '\0'; } else { _length = strlen(str); _str = new char[_length + 1]; strcpy(_str, str); } } // 2. 拷贝构造函数实现 MyString::MyString(const MyString& other) { _length = other._length; _str = new char[_length + 1]; strcpy(_str, other._str); } // 3. 拷贝赋值运算符重载实现 MyString& MyString::operator=(const MyString& other) { // 处理自赋值 if (this == &other) { return *this; } // 释放当前对象已有内存 delete[] _str; // 深拷贝 _length = other._length; _str = new char[_length + 1]; strcpy(_str, other._str); // 返回当前对象引用 return *this; } // 4. 析构函数实现 MyString::~MyString() { delete[] _str; _str = nullptr; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 0:11:31

springboot基于java的电影评价系统

2系统需求分析 需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用…

作者头像 李华
网站建设 2026/4/21 0:47:57

程序员必看!这个被99%开发者忽略的AI核心组件,竟决定了你的RAG系统成败!小白也能从0到1掌握Embedding模型!

“ Embedding模型是自然语言和模型的桥梁。” 了解过RAG技术的人应该都知道Embedding嵌入模型,但很多人可能并没有认真了解过这个核心组件;在大部分人眼中,Embedding模型是一个“不重要”的组件,只需要把文档切分之后,…

作者头像 李华
网站建设 2026/4/19 1:58:04

【AI×实时Linux:极速实战宝典】文件系统 - 优化 Ext4 日志模式与 Tmpfs(内存盘)应用,消除 IO 操作对推理的阻塞

简介在人工智能和实时系统领域,高效的文件系统操作对于确保系统的实时性和稳定性至关重要。特别是在涉及实时推理任务的场景中,文件系统的 I/O 操作可能会对关键推理线程产生阻塞,从而影响系统的响应速度和性能。本文将介绍如何通过优化 Ext4…

作者头像 李华
网站建设 2026/4/20 15:25:28

可视化测试:截图与录屏工具的进阶使用‌

在软件测试领域,可视化测试通过捕捉用户界面(UI)的视觉元素来验证功能与设计一致性。2025年,随着AI和自动化技术的普及,截图与录屏工具已从简单的记录设备演变为智能诊断助手。本文聚焦进阶使用策略,针对测试工程师、QA专家等从业…

作者头像 李华
网站建设 2026/4/19 17:10:48

力扣刷题:长按键入

题目: 你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按&…

作者头像 李华