C++ 传参的方式 值传递,指针传递,引用传递
关于传参总是搞晕,这里总结下:
值传递:
void func(int n)
{
}
void main()
{
int  x = 1;
func(x);
return;
}
这种就是值传递,在func函数里,对参数n进行赋值操作,main函数的x始终是1。
指针传递:
我理解的指针传递有两种场景:
1)修改指针指向的内容,举例:
class A
{
public:
A();
~A();
public:
int k;
}
void func(A* p)
{
P->K = 6;
}
void main()
{
A*p = new A;
p->k = 5;
func(p);
return;
}
这种情况不会修改实参所指向的内容,就是调用完func函数,main函数的p指针的k值变成了6。因为这是修改指针指向的内容的值。再看下面的例子:
void func(int * n)
{
int l = 9;
n = &l;
}
void main()
{
int k = 1;
int* n = &k;
func(n);
}
这个情况,执行完func函数,n的指向还是1,不会变。
引用传递:
引用就是给当前地址起个别名,引用永远修改的都是,传入参数的值。
void func(int&n)
{
n =100;
}
void main()
{
int k 120;
func(k);
}
这个情况执行完,func函数,K的值就变成了100.
C++ 传参的方式 值传递,指针传递,引用传递的更多相关文章
- c语言 函数传输传递的三种方式(值、指针、引用)
		本文摘自<彻底搞定c指针> 一.三道考题开讲之前,我先请你做三道题目.(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?)考题一,程序代码如下:void Exchg1(int x, in ... 
- Vue-cli中axios传参的方式以及后端取的方式
		0917自我总结 Vue-cli中axios传参的方式以及后端取的方式 一.传参 params是添加到url的请求字符串中的,用于get请求. data是添加到请求体(body)中的, 用于post请 ... 
- 以传参的方式执行shell(模板)
		以传参的方式执行shell(模板) #!bin/bash # USE: Template # author : xiaowei # -- # state : -name 选项必选,,, -v -m 选 ... 
- Java 为值传递而不是引用传递
		——reference Java is Pass by Value and Not Pass by Reference 其实这个问题是一个非常初级的问题,相关的概念初学者早已掌握,但是时间长了还是容易 ... 
- 【Qt】信号和槽对值传递参数和引用传递参数的总结
		在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ... 
- java是值传递,还是引用传递?
		原文地址:http://blog.csdn.net/zxmzfbdc/article/details/5401960 java到底是值传递,还是引用传递?以前国内的java开发者有过很多争论,由于& ... 
- arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
		环境及代码介绍 环境和源码 由于有时候要透彻的理解C里面的一些细节问题,所有有必要看看汇编,首先这一切的开始就是从汇编代码进入C的main函数过程.这里不使用编译器自动生成的这部分汇编代码,因为编译器 ... 
- 使用HTTP协议向服务器传参的方式及django中获取参数的方式
		使用HTTP协议向服务器传参的四种方式 URL路径携带参数,形如/weather/beijing/2018; 查询字符串(query string),形如key1=value1&key2=va ... 
- python函数传参和返回值注意事项
		函数传参 空参数 定义函数时括号里面没有形参,调用时不用传参. def func(): print('null para.') # 调用 func() 位置传参 规定形参的数量,调用时必须传递相同数量 ... 
随机推荐
- Dubbo+Zookeeper 入门Demo
			1.Zookeeper安装及启动 可参考这篇文章https://www.cnblogs.com/geekdc/p/5948326.html 从下载到启动都描述的很详细,按照文章一步一步走即可. 2.D ... 
- foreach  —(遍历数组或循环中的字符,以获取信息)
			namespace ConsoleApplication2{ class Program {//letter 字母 gigit 数字 symbol 符号 static void Main(string ... 
- PAT Advanced 1076 Forwards on Weibo (30) [图的遍历,BFS,DFS]
			题目 Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and ... 
- React之生命周期函数(16.3以后新版本)
			学习链接: https://www.jianshu.com/p/514fe21b9914 学习链接:https://zhuanlan.zhihu.com/p/38030418 学习链接:https:/ ... 
- choice接口、同花顺使用
			一 choice接口使用 1.choice软件-->量化-->下载中心,下载python接口文件 EMQuantAPI_Python 2.要先绑定手机号,绑定后账户权限不够,暂时放弃. 二 ... 
- 【无网条件下】Linux系统、jdk、redis及集群、rabbitmq、nginx、weblogic和oracle安装及配置
			本篇文章为原创,仅供参考使用,如果需要文章中提到的所有软件安装包和依赖包(即data),请以博客园邮箱联系获取链接. 准备资料 软件 主要软件包版本 路径 系统镜像 CentOS-6.10-x86_6 ... 
- CTF -bugku-web-web基础$_GET和$_POST
			---恢复内容开始--- GET那题 就算没有学过php也会看懂if条件语句 于是我们在url后面直接加 ?what = flag 这样echo输出flag POST那题 直接火狐 要装hackbar ... 
- swoole怎么连接数据库
			异步连接到MySQL服务器. $serverConfig为MySQL服务器的配置,必须为关联索引数组 $callback连接完成后回调此函数 swoole连接数据库实例: 推荐学习:swoole教程 ... 
- python期末考试复习
			期末考试复习 补修的python跟着大一一起学,考试肯定不会出难,于是就敲了一些代码,把他们放到博客上,来记录一下 代码都是一段一段的,且python代码不是很多,所以我都写到了一个文件里,作为练习 ... 
- 中小规模集群----Centos6部署wordpress及java程序
			1 概述 1.1 业务需求 公司共有两个业务,网上图书馆和一个电商网站.现要求运维设计一个安全架构,本着高可用.廉价的原则. 具体情况如下: 网上图书馆是基于jsp开发: 电商系统是基于 ... 
