• 我的c++学习(12)指针作为函数参数


    引用调用与指针传值调用
    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的值"<<'
    ';
         cin>>x>>y;
         cout<<"x="<<x<<'	'<<"y="<<y<<endl;
         swap(&x,&y);
         cout<<"x="<<x<<'	'<<"y="<<y<<endl;
         return 0;
     }


    指针作为返回值
    函数的返回值也可以是指针。如希望返回多个值,可以用引用参数或指针参数来等效实现,如果我们希望返回一个数组,并且这个数组生命期不在该函数中消亡,我们可以返回一个指向该数组的指针。

  • 相关阅读:
    模块cv2的用法
    调整弹出对话框在ASP.NET应用程序的大小
    xaf 自定义登陆页
    xaf 修改主页logo
    显示一个列表视图图表
    双击直接编辑状态
    xaf 富文本框添加方法
    用户 'NT AUTHORITYIUSR' 登录失败
    C# 中的INotifyPropertyChanged
    线程间操作无效: 从不是创建控件“txtreceive”的线程访问它。
  • 原文地址:https://www.cnblogs.com/yangwujun/p/3316644.html
Copyright © 2020-2023  润新知