From b40ca90a70d0942446a41049dd873651229a2031 Mon Sep 17 00:00:00 2001 From: Nomango <569629550@qq.com> Date: Mon, 11 Dec 2017 22:41:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86EString=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E4=BA=9Bbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Demo/main.cpp | 14 +++----------- Easy2D/Common/EString.cpp | 10 +++++----- Easy2D/ecommon.h | 14 +++++++------- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/Demo/main.cpp b/Demo/main.cpp index 05e86578..5f9fb51f 100644 --- a/Demo/main.cpp +++ b/Demo/main.cpp @@ -16,17 +16,9 @@ int WINAPI WinMain( str += L"4"; UINT h1 = str.hash(); - EString s = L"abcdea"; - EString ss = s.sub(0); - EString sss = s.sub(0, 5); - EString ssss = s.sub(0, 9); - EString ssssss = s.sub(1, 4); - EString sssss = s.sub(-1, 3); - int i = s.findFirstOf(L'a'); - int j = s.findLastOf(L'a'); - - EString string = L"Hello"; - string = string + 2017 + L"!"; + EString string; + string = string + L"Hello" + 2017 + L"!"; + string.append(L"Hello").append(2017).append(L"!"); EString str2; str2 += 1; diff --git a/Easy2D/Common/EString.cpp b/Easy2D/Common/EString.cpp index 01292904..04417b72 100644 --- a/Easy2D/Common/EString.cpp +++ b/Easy2D/Common/EString.cpp @@ -314,7 +314,7 @@ EString e2d::EString::sub(int offset, int count) const return std::move(str_temp); } -int e2d::EString::findFirstOf(wchar_t ch) const +int e2d::EString::findFirstOf(const wchar_t ch) const { for (int i = 0; i < _size; i++) if (_string[i] == ch) @@ -323,7 +323,7 @@ int e2d::EString::findFirstOf(wchar_t ch) const return -1; } -int e2d::EString::findLastOf(wchar_t ch) const +int e2d::EString::findLastOf(const wchar_t ch) const { int index = -1; @@ -334,17 +334,17 @@ int e2d::EString::findLastOf(wchar_t ch) const return index; } -EString & e2d::EString::append(wchar_t ch) +EString & e2d::EString::append(const wchar_t ch) { return (*this) += ch; } -EString & e2d::EString::append(wchar_t * str) +EString & e2d::EString::append(const wchar_t * str) { return (*this) += str; } -EString & e2d::EString::append(EString & str) +EString & e2d::EString::append(const EString & str) { return (*this) += str; } diff --git a/Easy2D/ecommon.h b/Easy2D/ecommon.h index 83d4d81a..2efcbcad 100644 --- a/Easy2D/ecommon.h +++ b/Easy2D/ecommon.h @@ -161,7 +161,7 @@ public: EString operator+(const std::wstring &); template - EString &operator+(const T value) + EString operator+(const T value) { EString str_temp(*this); @@ -203,23 +203,23 @@ public: EString sub(int offset, int count = -1) const; // 获取字符串中第一个特定字符的下标 - int findFirstOf(wchar_t ch) const; + int findFirstOf(const wchar_t ch) const; // 获取字符串中最后一个特定字符的下标 - int findLastOf(wchar_t ch) const; + int findLastOf(const wchar_t ch) const; // 后接字符 - EString &append(wchar_t ch); + EString &append(const wchar_t ch); // 后接字符串 - EString &append(wchar_t *str); + EString &append(const wchar_t *str); // 后接字符串 - EString &append(EString &str); + EString &append(const EString &str); // 后接字符串 template - EString &append(T &value) + EString &append(const T &value) { return (*this) += value; }