首页 > 编程语言 > 详细

C++ string 作为形参与引用传递(转)

时间:2022-05-27 23:29:58      阅读:223      评论:0      收藏:0      [点我收藏+]

记录一下自己将string作为参数传递的结果。
(自己感觉与int等基本类型无异。)

1. string 以引用形式传递

#include <iostream>
#include<string>

using namespace std;
void change_string(string& s)
{
char c = s[0];
for(int i=1; i<s.length(); i++)
{
s[i-1]=s[i];
}
s[s.length()-1]=c;
}
int main()
{
string str;
cin >> str;
cout << str << endl;
change_string(str);
cout << str <<endl;
return 0;
}

输入:
ABCD
输出:
ABCD
BCDA
说明在调用函数中的修改同样改变了主函数中变量str的值。

2.string 以形参方式传递

将chang_string 中的参数类型由string& 改为 string,代码如下:

void change_string(string s)
{
char c = s[0];
for(int i=1; i<s.length(); i++)
{
s[i-1]=s[i];
}
s[s.length()-1]=c;
}


输入:
ABCD
输出:
ABCD
ABCD

总体来看,c++ string类的参数传递好像与int等基本类型的参数传递一样,同时也没什么不正常之处。但是网上遍地都是:不要使用string作为参数传递。对此很是困惑,还望哪位大佬解释一下。
原文链接:https://blog.csdn.net/yhsyde/article/details/108701592

C++ string 作为形参与引用传递(转)

原文:https://www.cnblogs.com/xihong2014/p/15355328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!