gpt4 book ai didi

c++ - 字符串作为参数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:03:23 24 4
gpt4 key购买 nike

如果我不打算修改字符串,那么第一个选项更好还是两者都相同-(我只想遍历字符串,但由于字符串大小很大我不想要制作本地拷贝。)

int getString(string& str1) {
//code
}


int getString (string str1) {
//code
}

如果我打算更改字符串,那么两者之间有什么区别吗?是因为字符串在 C++ 中是不可变的吗?

最佳答案

字符串文字是不可变的,std::string 不是。

第一个是按引用传递。如果您不打算修改字符串,请通过 const 引用传递它。

第二种是按值传递 - 如果您在函数内修改字符串,您只会修改一个拷贝,因此没有实际意义。

关于c++ - 字符串作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com