C++面试题之string类
来源:互联网 发布:电影源码 编辑:程序博客网 时间:2024/05/23 02:05
参考文章:
《C++面试中string类的一种正确写法》
下面先给出一个参考例子,代码来源是《C++面试中string类的一种正确写法》
</pre><pre name="code" class="cpp">#include <utility>#include <string.h> class String{ public: String() : data_(new char[1]) { *data_ = '\0'; } String(const char* str) : data_(new char[strlen(str) + 1]) { strcpy(data_, str); } String(const String& rhs) : data_(new char[rhs.size() + 1]) { strcpy(data_, rhs.c_str()); } /* Delegate constructor in C++11 String(const String& rhs) : String(rhs.data_) { } */ ~String() { delete[] data_; } /* Traditional: String& operator=(const String& rhs) { String tmp(rhs); swap(tmp); return *this; } */ String& operator=(String rhs) // yes, pass-by-value { swap(rhs); return *this; } // C++ 11 String(String&& rhs) : data_(rhs.data_) { rhs.data_ = nullptr; } String& operator=(String&& rhs) { swap(rhs); return *this; } // Accessors size_t size() const { return strlen(data_); } const char* c_str() const { return data_; } void swap(String& rhs) { std::swap(data_, rhs.data_); } private: char* data_;};
IT从业人员需要及时关注技术动态,但是互联网的内容却过于离散,好东西往往隐藏得很深。现在可以在微信公众号里面
搜索关注“小鱼儿的IT技术分享”,订阅我为大家每天汇总的IT技术信息。欢迎大家关注!
有兴趣的请点击《与IT技术相关的微信公众号》
0 0
- c string 面试题
- C++经典面试题之---String类
- C++经典面试题之---String类
- C++面试题之string类
- C++经典面试题之---String类
- C++经典面试题之---String类
- String类面试题
- 面试题 String类
- C++:【常见面试题】String类的写法
- 常见的C++面试题之String类
- Java String类面试题
- String类常见面试题
- Java String 类面试题
- C面试题--之^运算。
- 面试题之C语言
- C语言面试题大汇总之华为面试题
- C语言面试题大汇总之华为面试题
- C语言面试题大汇总之华为面试题
- trie树中的知识点
- AIDL介绍
- Python中range和xrange对比
- 推荐两款我一直在用的PC健康小软件
- BaseAdapter与CursorAdapter的结合使用举例
- C++面试题之string类
- PostgreSQL每日一贴-测试工具之pgbench
- 【sql 优化】union 、union all、or使用
- hdoj 1049 Climbing Worm
- 创建Cocos2d-x工程 cocos2dx-3.x 创建工程命令
- Ubuntu安装配置Mysql
- 走进CSDN
- CentOS 7 巨大变动之 systemd 取代 SysV的Init
- ACM 阶乘的精确值