笔记:C++学习之旅---引用
<iostream>
namespace
std;
main()
int
num;
int
&mum = num;
//mum是num的别名,这两个变量是一个变量,只不过名字不同而已。对num的操作就是对mum的操作,这里‘&’不是取地址运算符,而是引用运算符,虽然符号一样,但是功能却不一样。
"mum:"
<<mum<<endl;
//结果为999
"num:"
<<num<<endl;
//结果为0
return
0;
<iostream>
namespace
std;
main()
int
a;
int
&ra = a;
"&a:"
<<&a<<endl;
"&ra:"
<<&ra<<endl;
int
b = 888;
"&a:"
<<&a<<endl;
//ra和a地址和先前一样
"&ra:"
<<&ra<<endl;
"&b:"
<<&b<<endl;
//b的地址不同
"a:"
<<a<<endl;
//a = 888,同样ra是a的引用,a受到了牵连,所以a也等于888;
"ra:"
<<ra<<endl;
//ra = 888,b的值赋值给了ra,所以ra值发生了改变;
"b:"
<<b<<endl;
//b = 888
"a:"
<<a<<endl;
//a = 1,由于ra = 1了,ra是a的引用,a受到牵连,所以a = 1;
"ra:"
<<ra<<endl;
//ra = 1
"b:"
<<b<<endl;
//b = 888,
"a:"
<<a<<endl;
//a = 666
"ra:"
<<ra<<endl;
//ra = 666
"b:"
<<b<<endl;
//b = 888
return
0;
<iostream>
namespace
std;
Human
:
void
set(
int
x
)
x
;
int
get()
return
i;
:
int
i;
main()
Human
Mike;
Human
&rMike = Mike;
//定义一个对象的别名
//Human &rHuman = Human;//不能定义一个类的别名,因为Human是一个类型,他没有具体的内存地址,所以我们不能定义它的别名;
//通过引用来访问Human类
int
a;
int
&ra = a;
//int &ra;//这两行是错误的,引用就是常量,只能对其初始化,不能赋值
//ra = a; 所以引用时一定要对该引用进行初始化
return
0;
<iostream>
namespace
std;
swap(
int
a
,
int
b
)
int
t;
"swap函数中交换前a:"
<<
a
<<
",b:"
<<
b
<<endl;
//a = 3,b = 4
a
;
a
=
b
;
b
= t;
"swap函数中交换后a:"
<<
a
<<
",b:"
<<
b
<<endl;
//a = 4,b = 3;
main()
int
a = 3;
int
b = 4;
"main函数中交换前a:"
<<a<<
",b:"
<<b<<endl;
//a = 3,b = 4;
"main函数中交换后a:"
<<a<<
",b:"
<<b<<endl;
//a = 3,b = 4,并没有发生改变,交换的只是a和b的副本;
return
0;
<iostream>
namespace
std;
swap(
int
*
a
,
int
*
b
)
int
t;
"swap函数中交换前a:"
<<*
a
<<
",b:"
<<*
b
<<endl;
//a = 3,b = 4;
a
;
a
= *
b
;
b
= t;
"swap函数中交换后a:"
<<*
a
<<
",b:"
<<*
b
<<endl;
//a = 4,b = 3;
main()
int
a = 3;
int
b = 4;
"main函数中交换前a:"
<<a<<
",b:"
<<b<<endl;
//a = 3,b = 4;
"main函数中交换后a:"
<<a<<
",b:"
<<b<<endl;
//a = 4,b = 3;
return
0;
<iostream>
namespace
std;
swap(
int
&
a
,
int
&
b
)
//‘&’引用运算符,传递a和b的别名
int
t;
"swap函数中交换前a:"
<<
a
<<
",b:"
<<
b
<<endl;
//a = 3,b = 4;
a
;
a
=
b
;
b
= t;
"swap函数中交换后a:"
<<
a
<<
",b:"
<<
b
<<endl;
//a = 4,b = 3;
main()
int
a = 3;
int
b = 4;
"main函数中交换前a:"
<<a<<
",b:"
<<b<<endl;
//a = 3,b = 4;
"main函数中交换后a:"
<<a<<
",b:"
<<b<<endl;
//a = 4,b = 3;
return
0;
<iostream>
namespace
std;
func(
int
a,
int
*b,
int
*c);
main()
int
a = 1;
int
b = 2;
int
c = 3;
"main函数调用func函数前...\n"
;
"a:"
<<a<<endl<<
"b:"
<<b<<endl<<
"c:"
<<c<<endl;
//a = 1,b = 2,c = 3;
"main函数调用func函数后...\n"
;
"a:"
<<a<<endl<<
"b:"
<<b<<endl<<
"c:"
<<c<<endl;
//a = 1,b = 4,c = 27;a作为局部变量已经被释放所以打印的还是原先a = 1的值;
return
0;
func(
int
a
,
int
*
b
,
int
*
c
)
"func函数中,计算前...\n"
;
"a:"
<<
a
<<endl<<
"b:"
<<*
b
<<endl<<
"c:"
<<*
c
<<endl;
//a = 1,b = 2,c = 3;
a
=
a
+ 1;
b
= (*
b
)*(*
b
);
c
= (*
c
)*(*
c
)*(*
c
);
"func函数中,计算后...\n"
;
"a:"
<<
a
<<endl<<
"b:"
<<*
b
<<endl<<
"c:"
<<*
c
<<endl;
//a = 2,b = 4,c = 27;
return
a
;
<iostream>
namespace
std;
func(
int
a,
int
&b,
int
&c);
main()
int
a,b,c;
int
check;
"请输入一个数字,作为园的半径和正方形的边长\n"
;
if
(check)
"您输入的数字穿过计算范围\n"
;
else
"圆的面积为:"
<<b<<endl;
"正方形的面积为:"
<<c<<endl;
return
0;
func(
int
a
,
int
&
b
,
int
&
c
)
if
(
a
> 20000)
a
= 1;
else
b
=
a
*
a
*3.14;
c
=
a
*
a
;
a
= 0;
return
a
;
笔记:C++学习之旅---引用的更多相关文章
- 笔记-JavaWeb学习之旅7
JavaScript基础 概念:一门客户端脚本语言,运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎,是一个脚本语言,不需要编译,直接就可以被浏览器解析执行. JavaScript ...
- 笔记-JavaWeb学习之旅5
CP30的演示 package cn.itcast.datasourcejdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import j ...
- 笔记-JavaWeb学习之旅19
Redis:redis是一款高性能的NOSQL系列的非关系型数据库 NOSQL: Not Only SQL ,意即"不仅仅是SQL",是一项全新的数据库理念,泛指非关系型数据库 r ...
- 笔记-JavaWeb学习之旅18
AJAX:ASynchronous JavaScript And XML 异步的JavaScript 和XML 异步和同步:客户端和服务器端相互通信的基础上 同步:客户端操作后必须等待服务器端的响应, ...
- 笔记-JavaWeb学习之旅17
1.过滤选择器 首元素选择器:first 获得选择的元素中的第一个元素 尾元素选择器:last获得选择元素中的最后一个元素 非元素选择器:not(selector) 不包括指定内容的元素 偶数选择器: ...
- 笔记-JavaWeb学习之旅16
增强对象的功能 动态代理:在内存中形成代理类 实现步骤: 代理对象和真实对象实现相同的接口 代理对象 = Proxy.newProxyInstance(); 使用代理对象调用真实对象的方法 增强方法 ...
- 笔记-JavaWeb学习之旅15
Filter:过滤器 概念:当访问服务器的资源是,过滤器可以将请求拦截下来,完成一些特殊的功能 快速入门: 步骤: 定义一个类,实现接口Filter 复写方法 配置拦截路径 package com.d ...
- 笔记-JavaWeb学习之旅14
JSTL:JavaServer Pages Tag Library JSP标准标签库 if标签 <%@ page import="java.util.ArrayList" % ...
- 笔记-JavaWeb学习之旅10
Servlet server applet运行在服务器端的小程序,servlet就是一个接口,定义了Java类被浏览器访问到的规则(Java类重写这个接口,就可以被浏览器(tomcat)识别) Ser ...
- 笔记-JavaWeb学习之旅13
验证码案列 昨天晚上出现的500错误原因在于验证码没有获取到,获取验证码是应该获取的是共享域中的验证码,而我把获取值得键给写成了jsp中的键,而不是内存生成图片中,然后把图片上传到共享域中的键.这两个 ...
随机推荐
- Matlab %壹
第一章 基本操作 MATLAB as A Calculator operators: + - * / ^ 顺序: Parenthesis () Power (^) *or/ +or- 特殊的: sqr ...
- NX二次开发获取当前DLL路径函数
string GetPath();//输出程序路径 string YiNingToolPath(string DLLDir); //分割程序路径获取工具目录 HMODULE GetSelfModule ...
- 通过cpolar内网穿透 https://blog.csdn.net/CpolarLisa/article/details/128148698
远程办公:通过cpolar内网穿透,远程桌面控制家里公司内网电脑_Cpolar Lisa的博客-CSDN博客 https://blog.csdn.net/CpolarLisa/article/deta ...
- python实例1(石头 剪刀 布)
#random .randint 模块导入 import random #定义一个用户需要输入的数据内容入口 user = int(input("请输入(石头1,剪刀2,布3 ...
- LeetCode92 反转链表Ⅱ
idea:参考上一道全部反转,所以反转链表部分代码实现,我觉得重点在于集中不同情况的分类讨论.一共四类情况需要考虑,有前有后,有前无后,有后无前,无前无后. /** * Definition for ...
- 【Beat】Scrum Meeting 3
时间:2021年6月28日 1.各个成员今日完成的任务以及贡献小时数 姓名 今日完成任务 贡献小时数 鑫 进行软件测试,修改bug 4 荣娟 进行软件测试,修改bug 4 亚楠 进行软件测试,修改bu ...
- Java 面试手撕代码
1. 判断括号有效性 public static boolean fun5(String str) { HashMap<Character, Character> hashMap = ne ...
- 灵感宝盒图谱全新改版!代码实验室开启报名丨RTE NG-Lab 双周报
前言 RTE NG-Lab 计划已经推出一段时间了,计划目前包含灵感宝盒(Idea Box).代码实验室(Code Lab).独立开发者孵化器(NGLab Incubator)三个项目.我们希望借助这 ...
- P4774 倚天屠龙传 题解
其实这道题的主体并不难,主要是细节很多 我们可以把题目分成界限分明的两部分,第一部分,屠每条龙所用的剑只和当前拥有的剑有关.于是可以单独开一个数据结构按题目维护. 另一部分找到最小攻击次数,可以化作以 ...
- FastDFS 使用流程
一.什么是FastDFS? FastDFS 是用 C 语言编写的一款开源的分布式文件系统,对文件进行管理,主要功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡 ...