请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能。
来源:互联网 发布:linux shell 当前目录 编辑:程序博客网 时间:2024/06/05 03:49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <utility>
#include <string.h>
classString
{
public:
String():data_(newchar[1])
{
*data_ = '\0';
}
String(const char * str):data_(newchar[strlen(str) + 1])
{
strcpy(data_, str);
}
String(const String & rhs)
: data_(newchar[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_;
};
- 请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能。
- 请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能
- String类简单实现(构造、拷贝构造、析构、赋值、输出、比较、字符串加、长度、子串)
- string类的实现(构造,拷贝构造,赋值元算符及输出流的实现)
- string类构造、拷贝构造、赋值、操作符函数实现及注意事项
- string类构造、拷贝构造、赋值、操作符函数实现及注意事项
- C++【拷贝构造】和【拷贝赋值】(实现自定义的string类)
- 实现string的默认构造函数,拷贝函数,c型字符串参数的构造函数,赋值构造函数,析构函数,重载输出操作符,测试
- 实现字符串类String的设计,实现赋值运算符重载函数,默认、一般、拷贝构造函数,析构函数
- 实现一个string类,包括构造、析构、拷贝构造及operator= 函数
- 类String的 构造函数、拷贝构造函数、析构函数、赋值函数实现
- String类中构造函数、拷贝构造函数、赋值函数的实现
- 算法25:实现String类的构造函数,拷贝构造函数和赋值函数
- 自主编程实现String类的构造函数,析构函数,拷贝构造函数,赋值函数
- 模拟实现C++ string类(构造、析构、拷贝、赋值运算符重载)
- 类的基本成员函数实现(构造,拷贝构造,拷贝赋值,移动构造,移动赋值,析构)
- 字符串类的构造函数,拷贝构造,赋值函数的实现
- 简单的String类(构造、拷贝构造、赋值构造、析构等)
- Remove Google Play Games libraries on iOS (Unity3D开发之二十一)
- Nokia E52 热点解决方案
- Android 通过网页打开自己的APP(scheme)
- Visual Studio 2012中不显示ipch文件夹和.sdf文件设置
- 函数指针和指针函数
- 请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能。
- Node.js 4.0正式发布,支持ES6新特性
- java判断服务器是那种,例如区分tomcat和weblogic
- 9-EMM Scenario and Eleven EMM Cases
- Upcating(向上造型)
- linux之DMA动态映射指南
- 简单加解密算法
- 2007 Asia Regional Chengdu(树状数组神题+割点暴力+STL)
- 各种移动GPU压缩纹理的使用方法