diff options
-rw-r--r-- | core/include/fxcrt/fx_string.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h index efbe80accb..9903dad942 100644 --- a/core/include/fxcrt/fx_string.h +++ b/core/include/fxcrt/fx_string.h @@ -178,20 +178,22 @@ class CFX_ByteString public: typedef FX_CHAR value_type; - CFX_ByteString() - { - m_pData = NULL; - } + CFX_ByteString() : m_pData(nullptr) { } + // Copy constructor. CFX_ByteString(const CFX_ByteString& str); - CFX_ByteString(char ch); + // Move constructor. + inline CFX_ByteString(CFX_ByteString&& other) { + this->m_pData = other.m_pData; + other.m_pData = nullptr; + } + CFX_ByteString(char ch); CFX_ByteString(FX_LPCSTR ptr) : CFX_ByteString(ptr, ptr ? FXSYS_strlen(ptr) : 0) { } CFX_ByteString(FX_LPCSTR ptr, FX_STRSIZE len); - CFX_ByteString(FX_LPCBYTE ptr, FX_STRSIZE len); CFX_ByteString(FX_BSTR bstrc); @@ -623,13 +625,17 @@ class CFX_WideString public: typedef FX_WCHAR value_type; - CFX_WideString() - { - m_pData = NULL; - } + CFX_WideString() : m_pData(nullptr) { } + // Copy constructor. CFX_WideString(const CFX_WideString& str); + // Move constructor. + inline CFX_WideString(CFX_WideString&& other) { + this->m_pData = other.m_pData; + other.m_pData = nullptr; + } + CFX_WideString(FX_LPCWSTR ptr) : CFX_WideString(ptr, ptr ? FXSYS_wcslen(ptr) : 0) { } |