当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 小程序大道理(一)引用的用途

小程序大道理(一)引用的用途

2019年04月06日  | 移动技术网IT编程  | 我要评论

环卫工享第一火锅,熊轩昂,天下女人心123

/#include
/#include
using namespace std;
int main(){
string str="gdkknvnqkc";
for(auto &s:str)
s=s+1;
for(auto s:str)
cout<<s;
cout<<endl;
for(auto s:str)
s=s-1;
for(auto s:str)
cout<<s;
cout<<endl;
return 0;
}
运行上述程序:
helloworld
helloworld
从运行结果,我们可以看到第一个for循环对字符串 str 中的字符产生了影响,但第三个for循环没有对字符串 str 中的元素产生影响。
这是因为第一个for循环是以引用遍历字符串中的字符,每一次循环 s 都会被定义为字符串 str 中字符的引用,此时对 s 的操作就是对该字符的操作。因此第一个for循环使原来的字符串变为helloworld。
第二个for循环只是将字符串中字符赋值给对象 s ;所以原字符串不会发生改变依旧是helloworld。
那么思考一个问题:
编写一个函数swap,在主函数中定义两个int型变量,并初始化(两个变量初始化赋值不同),调用swap函数实现两个变量值得交换。
这里我们推荐两种方法:一种是我们刚刚讲述的引用,将函数定义为swap(int &x,int &y){...},另一种就是利用指针,将函数定义为swap(int x,int y){...};大家不妨把程序补充完整,并与函数swap(int x,int y){...}对比。看三个函数定义形式的不同。
转载自https://mp.weixin.qq.com/s/av7b7dyzwqozi4u_jmrqeq
小程序大道理

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网