C++实参形参
2015-08-21 18:38
120 查看
实参形参
当传递的实参值需要在函数中获取改变的时候,就需要用到传引用或者指针。否则传递的是形参,参数自己并不改变,在函数中的是一个复制过去的副本。
向函数传递参数的方式有:传值调用,指针调用,引用调用,详见如下:
由此可见传引用或者指针时,传递的是实参,实际值发生了变化。
参考:http://www.docin.com/p-655157558.html
当传递的实参值需要在函数中获取改变的时候,就需要用到传引用或者指针。否则传递的是形参,参数自己并不改变,在函数中的是一个复制过去的副本。
向函数传递参数的方式有:传值调用,指针调用,引用调用,详见如下:
#include <iostream.h> void func1(int a)//传值调用 //int b;对应调用func3(b); { a--; } void func2(int *a)//指针调用 //int b;对应调用func2(&b); { (*a)--; } void func3(int &a)//引用调用 //int b;对应调用func3(b); { a--; } void func4(int *&a)//指针的引用调用,相当于给实参m起个新名字叫做a,a就是实参m //int*b;对应盗用func4(b); { (*a)--; } int main() { int a = 10; cout<<"The value of a:"<<a<<endl; cout<<a<<endl; func1(a); cout<<"After func1:The value of a:"<<a<<endl; cout<<a<<endl; func2(&a); cout<<"After func2:The value of a:"<<a<<endl; cout<<a<<endl; func3(a); cout<<"After func3:The value of a:"<<a<<endl; cout<<a<<endl; int b = 90; int *m = &b; cout<<"The value of m:"<<*m<<endl; func4(m); cout<<"After func4:The value of m:"<<*m<<endl; }执行的结果如下图所示:
由此可见传引用或者指针时,传递的是实参,实际值发生了变化。
参考:http://www.docin.com/p-655157558.html
相关文章推荐
- C++ Primer 5e chapter 10.1
- C/C++学习笔记--指针(Pointer)
- c++学习笔记(三)多态性
- iOS中OC字符串与C语言字符串之间的相互转换
- C++ Primer 5e chapter 9.2
- windows C++ 进入临界区 退出临界区
- C++ 编码转换
- 关于c++stl
- Item 4:确保变量的初始化 Effective C++笔记
- C语言回车符号和换行符
- hdu1160 FatMouse's Speed (dp,记录路径)
- 关于模版的实参推演
- C语言 字节对齐
- C++的引用语法
- C/C++易错难点笔记02
- C++ new 之 placement new、operator new、new operator
- c++ 四大函数练习
- (1.1.29)C++中定义类的对象:用new和不用new有何区别?
- C++静态成员函数小结
- 第一日学习(一)osgViewer/ViewerBase.cpp