在fun1()中我得到一个字符串,我需要将这个字符串数据传递给函数fun2(),它接受参数char*
function2原型如下
void fun2(char *p);
Run Code Online (Sandbox Code Playgroud)
我从fun1调用fun2,如下所示
void fun1()
{
fun2((char *)str.c_str());
}
Run Code Online (Sandbox Code Playgroud)
从const char*到char*的转换是否存在任何潜在问题
如果fun2尝试修改const char*返回的指向的数据,std::string::c_str那么它的未定义行为.
如果fun2不修改指向的数据p,那么就不会有任何问题.(但是,无论如何,fun2应该宣布采取a const char*而不是a char*.)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |