Files
XCEngine/docs/api/containers/string/constructor.md
ssdfasd 5c3566774b docs: 更新 containers 和 threading 模块文档
- containers: 更新 string 类的多个方法文档
- threading: 更新 mutex 和 task-group 方法文档
2026-03-26 01:59:14 +08:00

49 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/Core/Containers/String.h"
#include <iostream>
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) - 返回类总览