std::string构造函数
时间: 2023-08-10 19:03:57 浏览: 251
在C++中,`std::string`类提供了多个构造函数,用于创建字符串对象。以下是一些常见的`std::string`构造函数:
1. 默认构造函数:
```cpp
std::string str; // 创建一个空的字符串
```
2. 字符串字面值构造函数:
```cpp
std::string str("Hello"); // 创建一个包含字符串"Hello"的对象
```
3. 复制构造函数:
```cpp
std::string str1("Hello");
std::string str2(str1); // 使用str1创建一个新的字符串对象str2,内容与str1相同
```
4. 字符数组构造函数:
```cpp
const char* charArray = "Hello";
std::string str(charArray); // 使用字符数组创建一个字符串对象
```
5. 子字符串构造函数:
```cpp
std::string str1("Hello, World!");
std::string str2(str1, 7, 5); // 创建一个包含str1中从索引7开始的5个字符的子字符串对象
```
6. 重复字符构造函数:
```cpp
std::string str(5, 'A'); // 创建一个由5个重复的字符'A'组成的字符串对象
```
这些只是`std::string`类的一些构造函数示例,还有其他重载和变体可用。你可以根据需要选择适合的构造函数来创建`std::string`对象。
相关问题
std::string构造函数有哪些
`std::string` 类有多个构造函数,可以根据不同的参数类型和数量来创建字符串对象。以下是一些常见的 `std::string` 构造函数:
1. 默认构造函数:
```cpp
std::string();
```
创建一个空的字符串对象。
2. 字符串字面值构造函数:
```cpp
std::string(const char* str);
std::string(const char* str, size_t len);
```
从 C 风格的字符串(以空字符 '\0' 结尾)或字符数组创建字符串对象。
3. 复制构造函数:
```cpp
std::string(const std::string& str);
```
从现有的 `std::string` 对象创建一个新的字符串对象。
4. 移动构造函数:
```cpp
std::string(std::string&& str);
```
从一个临时的 `std::string` 对象创建一个新的字符串对象。
5. 字符重复构造函数:
```cpp
std::string(size_t n, char c);
```
创建一个由字符 `c` 重复 `n` 次组成的字符串对象。
6. 范围构造函数:
```cpp
template<class InputIterator>
std::string(InputIterator first, InputIterator last);
```
从迭代器范围内的字符序列创建字符串对象。
除了上述列举的构造函数之外,`std::string` 类还提供了其他重载的构造函数,用于更灵活地创建字符串对象。
希望这个解答对你有帮助!如果你还有其他问题,请随时提问。
C++中的std::string 构造函数有几种
std::string构造函数有多个重载形式,包括默认构造函数、基于char*的构造函数、复制构造函数、移动构造函数、子串构造函数、填充构造函数等。具体而言,std::string的构造函数有:
1.默认构造函数:创建一个空字符串 std::string()
2.基于char*的构造函数:将C风格字符串(以'\0'结尾)转换为std::string类型 std::string(const char* s)
3.复制构造函数:从现有的std::string对象创建新的std::string对象 std::string(const std::string& str)
4.移动构造函数:从另一个std::string对象中移动其内部的数据创建新的std::string对象 std::string(std::string&& str)
5.子串构造函数:创建一个std::string对象,从另一个std::string对象的子串中提取一段指定长度的字符 std::string(const std::string& str, size_t pos, size_t len)
6.填充构造函数:创建一个std::string对象,用指定数量的某个字符填充它 std::string(size_t n, char c)