diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h
index efbe80a..9903dad 100644
--- a/core/include/fxcrt/fx_string.h
+++ b/core/include/fxcrt/fx_string.h
@@ -178,20 +178,22 @@
 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 @@
 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) { }
 
