arcgis二次开发 语言c#还是c++,c++/java/c# 几种编程语言的指针、引用比较

本文对比了C++、Java和C#中关于指针和引用的概念,强调了它们之间的差异。在Java中,引用相当于C++的指针,但不能赋值null。C++的引用不能赋值null,而指针可以。C#的引用仅限于函数参数,并且不能用于局部变量。此外,文章还讨论了各种语言中对象创建、内存管理和垃圾回收的区别。
摘要由CSDN通过智能技术生成

java 中的引用/指针,与 c++/C# 中的引用/指针不是一个概念.

Java 引用,相当于 c++ 指针(fun3)。Java 引用可以赋值 null, 而 c++ 引用 (见 fun2) 不能赋值 null,c++ 指针可以赋值 null(fun3).

Java 中,无 c++ 引用(fun2)对应的语法。

结果引起不必要的质疑,特此,写博客,对c++/java/c# 几种编程语言的指针、引用,进行比较,期望引起更多的人,对此有所关注。

从语法上看,三种开发语言中,C++ 的指针、引用,最为复杂,因此,下面的举例,都从 C++ 代码开始,然后与 java/c# 的语法进行比较。

1)  C++ 简单类型变量,有直接变量定义、指针定义、引用定义。

int aa = 10;//c++

int &bb = aa;//c++

int *cc = &aa;//c++

上述三行代码,最后三个变量指向同一个数据。相比较而言,java/c# 都只有变量定义,无引用定义、指针定义。

2) C++ 函数调用参数,简单类型变量,有直接变量定义、指针定义、引用定义,后两个,在函数内部改变数据,退出函数,能看到改变后的数据。

void simple_by_val(int a, const int b)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值