C++的指针,引用,指向指针的引用和Java中的引用
#include <iostream>
#include<algorithm>
using namespace std;
class Test {
public:
    Test(int num) {
        this->num = num;
    }
public:
    int num;
};
//引用
void change0(Test& t) {
    t.num = 2;
    Test temp(3);
    t=temp;
    Test test(4);
    t=test;
    // t = new Test(3); // 报错
}
//指向指针的引用
void change1(Test* & t) {
    t->num = 2;
    t = new Test(3);
}
//指针
void change2(Test *t) {
    Test *a=t;
    cout<<t<<" "<<&t<<" "<<(*t).num<<endl;//t表示指针里存的值即指向的对象的地址,&t表示指针自身的地址,*t表示指向的对象的值
    t->num = 2;
    t = new Test(3);    // 指针再次赋值,指向新内存
}
int main(int argc, char const *argv[])
{
    Test t3(1);
    cout << "------引用---------" << endl;
    cout << t3.num << endl;
    change0(t3);
    cout << t3.num << endl;
    Test *t2 = new Test(1);
    cout << "------指针---------" << endl;
    cout << t2->num << endl;
    change2(t2);
    cout << t2->num << endl;
    Test *t = new Test(1);
    cout << "------指针的引用---------" << endl;
    cout << t->num << endl;
    change1(t);
    cout << t->num << endl;
    system("pause");
    return 0;
}
												
											C++的指针,引用,指向指针的引用和Java中的引用的更多相关文章
- C基础知识(3):指针--概念、数组中指针的递增/递减、指针数组&数组指针、指向指针的指针
		
指针是一个变量,其值为另一个变量的地址. 所有指针的值的实际数据类型,不管是整型.浮点型.字符型,还是其他的数据类型,都是一样的,都是一个代表内存地址的长的十六进制数. 下面从4个代码例子分别讲述以下 ...
 - Java中没有引用传递只有值传递(在函数中)
		
◆传参的问题 引用类型(在函数调用中)的传参问题,是一个相当扯的问题.有些书上说是传值,有些书上说是传引用.搞得Java程序员都快成神经分裂了.所以,我们最后来谈一下“引用类型参数传递”的问题. 如下 ...
 - Java中的引用传递和值传递
		
Java中的引用传递和值传递 关于Java的引用传递和值传递,在听了老师讲解后,还是没有弄清楚是怎么一回事,于是查了资料,所以在这里与大家分享,有不对的地方,欢迎大家留言. java中是没有指针的,j ...
 - Java中弱引用、软引用、虚引用及强引用的区别
		
Java中弱引用VS软引用 Java中有如下四种类型的引用: 强引用(Strong Reference) 弱引用(WeakReference) 软引用(SoftReference) 虚引用(Phant ...
 - Java中各种引用(Reference)解析
		
目录 1,引用类型 2, FinalReference 2.1, Finalizer 3, SoftReference 4, WeakReference 5, PhantomReference 6, ...
 - Java中的引用与ThreadLocal
		
Java中的引用--强软弱虚 强引用 Object object = new Object(),这个object就是一个强引用.如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回 ...
 - JVM:Java中的引用
		
JVM:Java中的引用 本笔记是根据bilibili上 尚硅谷 的课程 Java大厂面试题第二季 而做的笔记 在原来的时候,我们谈到一个类的实例化 Person p = new Person() 在 ...
 - 使用java实现单链表----(java中的引用就是指针)
		
//一直以为java中没有指针,其实java的引用就是指针,只不过堆栈中的引用储存了在堆中的地址,可以看做java中的指针.public class sibgleLink<E> { // ...
 - C语言二级指针(指向指针的指针)
		
转载:http://c.biancheng.net/cpp/html/85.html 指针可以指向一份普通类型的数据,例如 int.double.char 等,也可以指向一份指针类型的数据,例如 in ...
 
随机推荐
- 【noi 2.6_4982】踩方格(DP)
			
题意:一个无限大的方格矩阵,能向北.东.西三个方向走.问走N步共有多少种不同的方案. 解法: f[i]表示走 i 格的方案数. 状态转移方程推导如下--设l[i],r[i],u[i]分别为第 i 步向 ...
 - hdu 13394 Minimum Inversion Number  线段树
			
题意: 首先给你一个长度为n的序列v,你需要首先找出来逆序对(i<j && v[i]>v[j]) 然后把这个序列的最后一个元素放在第一个位置上,其他元素都向后移动一位. 一 ...
 - Tomacat目录以及服务器配置文件信息
			
一. 1.Tomacat的启动: 在我的windows10中我下载的是8.5版本的tomacat,我就是通过".sh"文件来打开和关闭tomacat 要打开.sh文件还需要 这个G ...
 - Codeforces Round #650 (Div. 3)  D. Task On The Board  (构造,贪心)
			
题意:有一个字符串和一组数,可以对字符串删去任意字符后为数组的长度,且可以随意排序,要求修改后的字符串的每个位置上的字符满足:其余大于它的字符的位置减去当前位置绝对值之和等于对应序列位置上的数. 题解 ...
 - Python 往Excel写数据
			
一.需求描述: 1.一张人员信息表中生成人员信息,某些列的字段要进行递增操作: 2.一个组织节点下存在1000人的限制要求: 3.一张Excel表格生成45000条数据: 二.Excel表格的表头如下 ...
 - 带有Python的音频处理(附带源码)
			
由于博客播放不了音频,所以音频将以视频形式展现.公众号也正在进行抽书 音频素材请点击这里进行观看 往下拉就是文章地址 有时,在进行编程时,我们需要进行一些音频处理.编程中最常用的音频处理任务包括–加载 ...
 - Go语言中时间轮的实现
			
最近在工作中有一个需求,简单来说就是在短时间内会创建上百万个定时任务,创建的时候会将对应的金额相加,防止超售,需要过半个小时再去核对数据,如果数据对不上就需要将加上的金额再减回去. 这个需求如果用Go ...
 - translate.js
			
http://www.openxrest.com/translatejs/index.html translate.js translate.js is a jQuery plugin to tran ...
 - 什么是 DNS 的 A记录 和 CNAME记录 域名解析 为我的自定义域名创建 CNAME 记录
			
# CNAME https://support.google.com/blogger/answer/58317?hl=zh-Hans 为我的自定义域名创建 CNAME 记录 如果您的域名不是在 Blo ...
 - CSS pseudo element All In One
			
CSS pseudo element All In One CSS 伪元素 https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elemen ...