小编use*_*915的帖子

C++中的字符串分配:为什么这有效?

void changeString(const char* &s){
    std::string str(s);
    str.replace(0, 5, "Howdy");
    s = str.c_str();
}

int main() {
    const char *s = "Hello, world!";
    changeString(s);
    std::cout << s << "\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,它会打印出"你好,世界!" 我认为退出str时会被摧毁changeString.我错过了std::string分配方式的东西吗?

c++ string stdstring

9
推荐指数
2
解决办法
388
查看次数

标签 统计

c++ ×1

stdstring ×1

string ×1