c++传入一个string参数到一个函数
时间: 2024-03-15 22:43:53 浏览: 26
在 C++ 中,可以将一个字符串作为参数传递给一个函数。C++ 中的字符串类型有多种,常用的有 `char*`、`const char*` 和 `std::string`,下面分别介绍它们的传递方式。
1. 传递 `char*` 类型的字符串
```C++
void print_string(char* str) {
std::cout << str << std::endl;
}
int main() {
char* s = "Hello, world!";
print_string(s);
return 0;
}
```
在上面的代码中,我们定义了一个函数 `print_string`,它有一个参数 `str`,类型为 `char*`,表示一个 C 风格的字符串。在函数体内,我们使用 `std::cout` 打印出这个字符串。然后我们定义了一个 `char*` 类型的字符串变量 `s`,并传递给了 `print_string` 函数,这样函数就会打印出这个字符串。
2. 传递 `const char*` 类型的字符串
```C++
void print_string(const char* str) {
std::cout << str << std::endl;
}
int main() {
const char* s = "Hello, world!";
print_string(s);
return 0;
}
```
在上面的代码中,与传递 `char*` 类型的字符串类似,我们定义了一个函数 `print_string`,它有一个参数 `str`,类型为 `const char*`,表示一个 C 风格的字符串。在函数体内,我们也使用 `std::cout` 打印出这个字符串。然后我们定义了一个 `const char*` 类型的字符串变量 `s`,并传递给了 `print_string` 函数。
3. 传递 `std::string` 类型的字符串
```C++
void print_string(std::string str) {
std::cout << str << std::endl;
}
int main() {
std::string s = "Hello, world!";
print_string(s);
return 0;
}
```
在上面的代码中,我们定义了一个函数 `print_string`,它有一个参数 `str`,类型为 `std::string`,表示一个 C++ 风格的字符串。在函数体内,我们也使用 `std::cout` 打印出这个字符串。然后我们定义了一个 `std::string` 类型的字符串变量 `s`,并传递给了 `print_string` 函数。
需要注意的是,如果传递的是 `char*` 或 `const char*` 类型的字符串,需要确保字符串的生命周期足够长,以免在函数内部使用时出现错误。如果传递的是 `std::string` 类型的字符串,则无需担心这个问题,因为 `std::string` 会自动管理字符串的内存。