簡易string類的實現

2021-09-26 14:23:37 字數 1552 閱讀 5618

在面試的時候,經常會讓寫乙個字串類,看似很簡單的問題,其實經常出錯。閒來沒事,就寫個簡單字串類吧。

實現容量的概念,size和capacity

構造、析構、拷貝構造

過載=,+,運算子

swap交換函式,push_back,pop函式

擴容函式

右值引用

高效的swap交換

空字串類的形式

擴容實現

必須使用友元函式的operator+

右值引用的理解

mystring.h

#pragma once

class mystring

;

mystring.cpp

#include "stdafx.h"

#include "mystring.h"

#include #include #include mystring::mystring(const char *sztemp/*=""*/)

mystring::mystring(unsigned int nsize)

mystring::mystring(mystring &&mystr)

mystring::~mystring(void)

}void mystring::swap(mystring &mystr)

mystring::mystring(const mystring&mystr)

mystring &mystring::operator=(const mystring&mystr)

else

return *this;

}mystring &mystring::operator=(const char*szstr)

else

return *this;

}const char * mystring::c_str() const

mystring operator+(const char*lstr,const mystring &rstr)

mystring operator+(const mystring &lstr,const char*rstr)

char &mystring::operator(int nindex)

void mystring::push_back(char ch)

m_szbuff[m_nsize++] = ch;

m_szbuff[m_nsize] = '\0';}}

void mystring::pop()

}mystring& mystring::operator=(mystring&&mystr)

歡迎指正!

簡易String類的實現

ifndef mystring h define mystring h include include include 本質是對mystring的包裝 class mystring endif原始檔 define crt secure no warnings include mystring.h m...

乙個String類的建簡易實現

其中比較重要的那幾個建構函式和析構函式 如果能夠把ostream的過載寫出來將會更加流弊 class string public string const char str null 建構函式 加分項 以下內容加const很重要 string const string other 拷貝構造 stri...

仿照String類,實現簡易版MyString類

還可以和vector一起用 別忘了寫在自己的命名空間,防止衝突 ifndef litestring h included define litestring h included include include namespace mystl else return dest size t strl...