C++里,在一个函数中,一个输入的参数为String input,在函数体里处理input,并赋值给String output。请问两个String类型怎么赋值?把output当初字符串数组处理可以吗?
时间: 2024-11-20 09:41:29 浏览: 14
标准c++中string类函数介绍
在C++中,如果你有一个`std::string`类型的变量`input`,你可以直接将其内容复制到另一个`std::string`变量`output`中,无需特殊操作。这是通过简单的赋值操作完成的:
```cpp
std::string input = "example string";
std::string output = input; // 输出会被设置为与input相同的字符串
```
如果需要将`input`作为字符串数组处理,通常我们会创建一个字符数组或`std::vector<char>`,而不是直接用`std::string`。`std::string`实际上已经是一个实现了动态内存管理的字符序列容器,所以直接赋值不会变成数组形式。如果你想存储多个字符串并处理它们,应该创建一个`std::vector<std::string>`。
以下是示例:
```cpp
std::vector<std::string> stringArray;
stringArray.push_back(input); // 将input添加到数组中
// 或者,如果你确实想把input视为字符数组
std::string temp = input.c_str(); // 转换为C风格字符串
char* array = new char[temp.size() + 1]; // 增加终止符
strcpy(array, temp.c_str());
stringArray.push_back(array); // 添加到数组中
delete[] array; // 清理内存
```
阅读全文