在C++11中,将std::string
转换为const char*
类型可以通过以下两种主要方法实现,均能直接满足形参类型要求:
1. 使用c_str()
方法
c_str()
方法返回一个指向以空字符(\0
)结尾的字符数组的指针,类型为const char*
,可直接用于需要const char*
参数的函数。
示例:
std::string str = "example";
const char* ptr = str.c_str(); // 直接赋值给const char*
调用函数时可直接传递:
void func(const char* param);
func(str.c_str()); // 无需额外转换
注意:返回的指针在std::string
对象生命周期内有效,若字符串被修改或销毁,