我的c++学习(12)指针作为函数参数
2013-09-12 12:42
411 查看
◆ 引用调用与指针传值调用
C++中函数的参数的基本使用方法是传值。为了弥补单纯传值的不足,以引用作为函数的参数,从逻辑上讲引用是别名,在函数中对参数的操作,就是对实参的操作,而在物理上是传实参的地址。
将指针用作函数的参数时,传的仍然是值,指针的值,这个值就是指针所指向的变量或对象的内存首地址,在物理上传的是指针的值,在逻辑上讲是把另一个变量的地址传过去了,可以看作传地址。
建议在函数参数传递中,能用“引用”时绝不用“指针”。
【例5.9】用指针代替引用实现两数据的交换。
◆ 指针作为返回值
函数的返回值也可以是指针。如希望返回多个值,可以用引用参数或指针参数来等效实现,如果我们希望返回一个数组,并且这个数组生命期不在该函数中消亡,我们可以返回一个指向该数组的指针。
C++中函数的参数的基本使用方法是传值。为了弥补单纯传值的不足,以引用作为函数的参数,从逻辑上讲引用是别名,在函数中对参数的操作,就是对实参的操作,而在物理上是传实参的地址。
将指针用作函数的参数时,传的仍然是值,指针的值,这个值就是指针所指向的变量或对象的内存首地址,在物理上传的是指针的值,在逻辑上讲是把另一个变量的地址传过去了,可以看作传地址。
建议在函数参数传递中,能用“引用”时绝不用“指针”。
【例5.9】用指针代替引用实现两数据的交换。
#include "stdafx.h" #include<iostream> using namespace std; void swap(double *d1,double *d2){ double temp; temp=*d1;*d1=*d2;*d2=temp; } int main(void){ double x,y; cout<<"请输入x和y的值"<<'\n'; cin>>x>>y; cout<<"x="<<x<<'\t'<<"y="<<y<<endl; swap(&x,&y); cout<<"x="<<x<<'\t'<<"y="<<y<<endl; return 0; }
◆ 指针作为返回值
函数的返回值也可以是指针。如希望返回多个值,可以用引用参数或指针参数来等效实现,如果我们希望返回一个数组,并且这个数组生命期不在该函数中消亡,我们可以返回一个指向该数组的指针。
相关文章推荐
- C/C++学习笔记12:数组作为函数参数
- c++之指针作为函数参数传递的问题
- c++之指针作为函数参数传递的问题
- 指针的学习(3)指针作为函数的参数的输入和输出的参数的特性
- C语言学习笔记.指针3--指针变量作为函数参数
- C++指针【数组、字符串作为函数的参数】
- 学习笔记---指针法访问数组、数组的实质、数组/指针作为函数参数
- c语言指针的学习(指针作为函数的参数)
- C++ 常量指针或者常量引用作为函数参数传递的原因
- C++学习笔记:函数指针语法基础以及函数指针做函数参数的思想剖析
- C++传递对象函数指针作为参数
- C++指针作为函数的参数进行传递时需要注意的一些问题
- [C++]关于指针作为函数参数传递
- c++之指针作为函数参数传递的问题
- C++ 引用和指针作为函数参数的例子。请不要拍砖
- 指针作为函数参数在C/C++中调试和探讨
- c++ 用指针将函数作为参数传参
- C++指针,引用,常引用作为函数的参数
- c++ 成员函数作为函数指针参数传入
- c++将引用或者是指针作为函数参数实现实参的运算