• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > c++将引用或者是指针作为函数参数实现实参的运算

c++将引用或者是指针作为函数参数实现实参的运算

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++ 函数指针,c++ 函数返回指针,c++中的this指针,c++指针,c++指针详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C++增加引用类型, 主要是把它作为函数参数,以扩充函数传递数据的功能,较指针参数来得更加安全直观。将引用作为参数传递的时候,实参初始化形参的时候不分配内存空间,也不调用拷贝构造函数,因此更加能够提高运算的性能。所以我们应该尽可能地使用引用,而非指针,但是应该要注意,因为局部变量具有自己短暂的生命周期,因此不能够返回对一个局部变量的引用。

引用通常是在被定义的时候被初始化,但是当它作为参数的时候,则是在被调用的时候被初始化。这时候对引用所做的改变就是对被引用的变量所做的改变。

引用对变量的访问是直接访问,指针则是间接访问,指针有自己独立的地址和内存空间,引用则是变量的别名没有独立的内存空间。

传递变量的指针

#include <iostream>
using namespace std;
int main( )
{   void swap(int *,int *);
    int i=3,j=5;
    swap(&i,&j);                            //实参是变量的地址
    cout<<i<<"  "<<j<<endl;                 //i和j的值已互换
    return 0;
}

void swap(int *p1,int *p2)                 //形参是指针变量
{   int temp;
    temp=*p1;                              //以下3行用来实现i和j的值互换
    *p1=*p2;
    *p2=temp;
}
</div>

利用“引用形参”实现两个变量的值互换

void swap(int &a,int &b)      //形参是引用类型,在函数被调用的时候,引用被初始化
{   int temp;
    temp=a;
    a=b;
    b=temp;
}
//输出结果为
// i=5 j=3
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析C++中的函数与指针
  • 深入解读C++中的指针变量
  • C++基础入门教程(九):函数指针之回调
  • C++基础入门教程(八):函数指针
  • C++普通函数指针与成员函数指针实例解析
  • c++将引用或者是指针作为函数参数实现实参的运算
  • c++函数指针和回调函数示例
  • c++函数指针使用示例分享
  • C++指针作为函数的参数进行传递时需要注意的一些问题
  • C++中的对象指针总结

相关文章

  • 2017-05-28C++语言实现线性表之数组实例
  • 2017-05-28深入浅析C语言中堆栈和队列
  • 2017-05-28输入3个字符串,将它们按照字母由大到小排序(示例代码)
  • 2017-05-28《C++ primer plus》读书笔记(三)
  • 2017-05-28C语言实现稀疏矩阵
  • 2017-05-28C++ decltype类型说明符
  • 2017-05-28C语言泛型编程实例教程
  • 2017-05-28浅析C语言中sscanf 的用法
  • 2017-05-28ACE反应器(Reactor)模式的深入分析
  • 2017-05-28简单谈谈C++ 头文件系列之(iosfwd)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c++ 构造函数的初始化列表
    • 浅谈socket TCP编程中connect的一些坑
    • C语言fopen函数的用法,C语言打开文件详解
    • C语言中用于产生随机数的函数使用方法总结
    • C++实现在文本中找出某个单词的位置信息
    • Linux 软件看门狗 watchdog使用介绍
    • C语言单链表常见操作汇总
    • 纯C语言实现五子棋
    • 常用的C语言排序算法(两种)
    • VC实现屏幕截词功能的方法详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有