# String::String ```cpp String(); String(const char* str); String(const char* str, SizeType len); String(const String& other); String(String&& other) noexcept; ``` 构造 String 对象。提供多种构造方式以适应不同的使用场景。 **参数:** - `str` - 以 null 结尾的 C 字符串 - `len` - 要复制的字符数量 - `other` - 另一个 String 对象(用于拷贝构造或移动构造) **返回:** 无 **复杂度:** - 默认构造:O(1) - 从 `const char*` 构造:O(n),其中 n 为字符串长度 - 拷贝构造:O(n) - 移动构造:O(1) **示例:** ```cpp #include "XCEngine/Containers/String.h" #include int main() { XCEngine::Containers::String s1; // 默认构造 XCEngine::Containers::String s2("hello"); // 从 C 字符串构造 XCEngine::Containers::String s3("world", 3); // 从 C 字符串前 n 个字符构造 XCEngine::Containers::String s4(s2); // 拷贝构造 XCEngine::Containers::String s5(std::move(s4)); // 移动构造 std::cout << s2.CStr() << std::endl; // 输出: hello std::cout << s3.CStr() << std::endl; // 输出: wor std::cout << s4.CStr() << std::endl; // 输出: hello std::cout << s5.CStr() << std::endl; // 输出: hello return 0; } ``` ## 相关文档 - [String 总览](string.md) - 返回类总览