本篇文章主要介绍了"string类的实现终极版",主要涉及到方面的内容,对于C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
写时拷贝(COW)的实现:#include
#includeusing namespace std...
写时拷贝(COW)的实现:
#include
#include
using namespace std;
class String
{
public:
String(char *str="")
:_str(new char[strlen(str)+sizeof(int)+1])
{
*(int*)_str=1;
_str+=4;
strcpy(_str,str);
}
String(const String& str)
:_str(str._str)
{
++(*(int*)(_str-4));
}
~String()
{
if(_str!=NULL)
{
if(--(*(int*)(_str-4)))
{
delete[] (_str-4);
}
}
}
String& operator=(const String& str)
{
if(this!=&str)
{
if(--(*(int*)(_str-4)))
{
delete[] (_str-4);
}
_str=str._str;
++(*(int*)(_str-4));
}
return *this;
}
char& operator[](int index)
{
assert(index>=0 && index<>
以上就介绍了string类的实现终极版,包括了方面的内容,希望对C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_402418.html