java 指针 引用_C++中的指针和引用与Java中的引用区别
C++的指针和Java中的引用比较像,在作为函数参数传递时,都可以在函数内部改变 ”外部“ 的值
C++的引用使用时必须是初始化的,他是一段内存的别名,因此也可以在函数内部改变”外部“的值,但是有一点不同是,它作为参数传递时在函数内部不能改变其本身的指向
C++ 代码:
#include
using namespace std;
class Test {
public:
Test(int num) {
this->num = num;
}
public:
int num;
};
void change1(Test & t) {
t.num = 2;
// t = new Test(3); // 报错: 引用再次赋值
}
void change2(Test *t) {
t->num = 2;
t = new Test(3); // 指针再次赋值,指向新内存
}
int main(int argc, char const *argv[])
{
Test t = Test(1);
cout << "------引用---------" << endl;
cout << t.num << endl;
change1(t);
cout << t.num << endl;
Test *t2 = new Test(1);
cout << "------指针---------" << endl;
cout << t2->num << endl;
change2(t2);
cout << t2->num << endl;
return 0;
}
输出:
------引用---------
1
2
------指针---------
1
2
Java 代码:
class Test {
public int num;
Test (int num) {
this.num = num;
}
}
public class Learn {
public static void change(Test t)
{
t.num = 2;
t = new Test(3); // 引用 t 再次指向新对象,更像是 C++ 中的指针
}
public static void main(String[] args) {
Test t = new Test(1);
System.out.println(t.num);
change(t);
System.out.println(t.num);
}
}
输出:
1
2
java 指针 引用_C++中的指针和引用与Java中的引用区别相关推荐
- printf 指针地址_c语言对指针的理解
先来讲一下本人学指针的经历:大一的时候刚接触c语言对指针这东西真的是太迷了,感觉麻烦难懂不想其他语言一样.但是搞懂以后就被指针的魅力吸引甚至喜欢上c语言.不多讲,开始!(文章可能有些长,但放心全是基础 ...
- gorm存指针数据_C语言重点——指针篇(一篇让你完全搞懂指针)
一. 前言 C语言是比较偏底层的语言,为什么他比较偏底层,就是因为他的很多操作都是直接针对内存操作的. 这篇我们就来讲解C语言的一大特点,也是难点,指针和指针操作. 这篇文章我会先从基本类型的存储过程 ...
- C语言与Java怎么沟通_c语言初学指针,对于java面向对象的初理解
最近在看关于c语言的指针,学习下,发现指针原来运用理解成其实可以抽象出我们java的面向对象封装,地址--> 对象或变量,先看一段代码: public class Cat { public St ...
- Java中的引用与C中的指针
C 指针就是一个值,而这个值是某块内存的地址,通过这个值,就可以找到这块内存 C语言的指针具有以下特点: C语言的指针可以指向内存的任何地方 C语言的指针可以参与数值运算,加法.减法 C语言的指针还可 ...
- c6011取消对null指针的引用_C++中的引用
当变量声明为引用时,它将成为现有变量的替代名称.通过在声明中添加"&",可以将变量声明为引用. #include using namespace std; int main ...
- java 指针 引用_java中的引用与c中的指针
指针 首先要弄清楚指针和c中的指针是不一样的,前者是概念,后者是具体实例. 换句话说,C中的指针只是指针中的一种,其他语言也有指针,比如C++.但是我们同别人交流的时候,大都不会从概念上去交流,一般会 ...
- c6011取消对null指针的引用_C++中的野指针及其规避方法
今天在调试程序过程中,用到了一些指针的方法,这里记录一下野指针的概念. 1.概念 野指针,也就是指向不可用内存区域的指针.通常对这种指针进行操作的话,将会使程序发生不可预知的错误. 野指针与空指针(N ...
- java int 指针_如何在Java中使用指针?
小编典典 Java中的所有对象都是引用,你可以像使用指针一样使用它们. abstract class Animal {... } class Lion extends Animal {... } cl ...
- java 指针定义_Java中关于指针的个人理解
大一学生刚刚开始学习Java,很多概念性的东西或者名词不严谨,有错误的地方还望各位大神指正,写的都是自己的一些想法,便于我自己的记忆. 我学习Java一开始很费解,然后自己的一个方法就是把一些全新的概 ...
最新文章
- spring aop源码实现分析
- Java输出彩色字符
- 《学习之道》第七章总结
- 信息安全工程师笔记-云计算安全需求分析与安全保护工程
- c语言 k最近邻分类算法代码,实验二 K-近邻算法及应用
- 考研英语真题笔记 2020
- cdr圆形渐变填充怎么设置_玩出新花样|渐变应用于形状
- 【元胞自动机】基于matlab保守策略元胞自动机三车道(不开放辅路,软件园影响)交通流模型【含Matlab源码 1294期】
- AllenNLP框架学习笔记(模型篇之保存与加载)
- 数据分析与Excel
- macbook 连接不上蓝牙鼠标 m585 m590 解决方法
- WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
- 使用axios发送get和post请求
- c#输出二维数组矩阵
- 网易 七鱼 面试 java_reactJs微信端接入网易七鱼客服
- C/C++ BeaEngine 反汇编引擎
- 适用于Windows/Mac的最好视频剪辑软件
- RTX3060+ubuntu20.04+cuda11.1+cudnn8.0.5+pytorch1.7.1+tensorflow2.4构建深度学习环境
- R语言对多个数据框的相同列进行操作
- selenium_采集药品数据
热门文章
- flex mx:TabNavigator进行选项卡切换,需要进行交互时。发生Error #1009错误
- 终极破产的原因——20年玩儿钱与玩观念的的新经济
- 什么是康奈尔笔记法?
- 哪些因素影响大数据的发展
- 物联网卡就是流量卡 这说法正确吗
- Scala学习(一、环境配置和基础)
- 一个mapper接口有多个mapper.xml 文件_MyBatis 源码解析:映射文件的加载与解析(上)
- dosbox edit.exe 如何使用_微软软件如何激活?这个神器分享给你!
- Java编程基础 - 泛型
- struts1 mysql config_详解Struts1中的struts-config.xml配置文件【一】