C++ 字符串初始化
时间: 2023-07-11 11:20:41 浏览: 62
在C++中,有多种方式可以初始化字符串。下面介绍几种常用的方式:
1. 使用双引号括起来的字符串常量
我们可以直接使用双引号括起来的字符串常量来初始化一个字符串变量,例如:
```c++
std::string str = "Hello, World!";
```
这样就可以将字符串"Hello, World!"赋值给字符串变量str。
2. 使用字符数组来初始化字符串
我们也可以使用字符数组来初始化一个字符串,例如:
```c++
char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
```
这里需要注意的是,我们必须在字符数组的末尾加上一个空字符('\0'),它表示字符串的结束位置。
3. 使用赋值运算符进行初始化
我们也可以使用赋值运算符来初始化一个字符串,例如:
```c++
std::string str;
str = "Hello, World!";
```
这样就可以将字符串"Hello, World!"赋值给字符串变量str。
4. 使用构造函数进行初始化
我们可以使用构造函数来初始化一个字符串,例如:
```c++
std::string str("Hello, World!");
```
这样就可以将字符串"Hello, World!"作为参数传递给构造函数,从而初始化字符串变量str。
相关问题
C++ 字符串数组初始化
在 C++ 中,可以使用以下两种方式初始化字符串数组:
1. 使用花括号 {} 初始化器:
```c++
char str[5] = {'h', 'e', 'l', 'l', 'o'};
```
2. 使用字符串字面值初始化:
```c++
char str[6] = "hello";
```
需要注意的是,使用字符串字面值初始化时,数组大小必须比字符串长度多 1,因为需要额外存储字符串结尾的空字符 '\0'。
C++字符串数组初始化
在C++中,字符串数组可以通过以下方式进行初始化:
```cpp
char str1[] = "Hello World"; // 自动计算数组大小并在末尾添加'\0'
char str2[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; // 手动指定数组大小并添加'\0'
char str3[6] = "Hello"; // 自动在末尾添加'\0'
```
需要注意的是,如果手动指定数组大小,必须要保证数组大小大于等于字符串长度加1(用于存放'\0')。