当前位置: 首页 > news >正文

贵阳企业做网站2021年近期舆情热点话题

贵阳企业做网站,2021年近期舆情热点话题,网站建设 时间安排,网站做动态还是静态笔者前两天在参加菜鸟面试的时候被面试官问到了这个问题,由于只在本科程序设计课上学过C,已经好久没有开发实际项目,所以对C相关的指针以及引用的记忆较为模糊,在此进行一定的知识汇总与梳理。 我们以面试中出现的问题为例来进行整…

笔者前两天在参加菜鸟面试的时候被面试官问到了这个问题,由于只在本科程序设计课上学过C++,已经好久没有开发实际项目,所以对C++相关的指针以及引用的记忆较为模糊,在此进行一定的知识汇总与梳理。


我们以面试中出现的问题为例来进行整理。

定义

1. 指针

指针是存储内存地址的变量,其目的是充当该地址存储的内容的别名。
所以,指针是引用,但引用不一定是指针。指针是引用概念的特定实现,该术语往往仅用于可让您直接访问内存地址的语言。

2. 引用

引用是指引用其他内容的变量,并且可以用作该其他内容的别名。

Java引用和C++的指针有什么区别?

本质不同

Java的引用是对象的另一个别名,其代表已经存在对象额另一个名字,用于访问该对象。

C++的指针是一个变量,其存储了一个内存地址,通过该地址即指向一个对象。

指向对象的方式不同

Java引用必须进行初始化,并且其创造后不能进行更改。引用在创建时必须指向一个已存在的对象,否则会抛出异常。

C++指针可以在创建后重新更改指向的对象。即可以使用指针指向一个新建的对象,或者将指针从一个对象切换到另一个对象。

安全性不同

Java引用提供安全的方式来访问对象,因为其不能指向空对象。如果试图访问引用为null的对象,则会抛出异常。

C++指针可以指向null或未初始化的内存地址,这可能导致程序崩溃或未定义行为。

类型检查不同

Java引用在编译时会进行严格类型检查,确保引用指向正确的对象类型。

C++指针在编译时不进行类型检查,但是在运行时可能会触发未定义行为,因为指针可以指向任何类型的对象。


Java中有指针吗?

Java 中没有明确的指针概念,但是有一些类似于指针的特性,如this关键字和new关键字。

而且Java中不涉及指针,可能更重要的还是考虑到了安全因素。因为如果您获得任何变量的地址,您就可以从程序的任何位置访问它,而不受任何限制,即使变量是私有的。

1. 通过指针运算访问内存

Java语言禁止指针算数。考虑到指针算数本身对虚拟机有巨大的挑战,禁止指针,可以避免运行时的大量检查带来的开销。这样能够为开发人员提供较为安全可靠的环境。

2. 安全性

不使用指针,可以为开发人员提供额外的抽象层,使开发者免受与直接内存管理相关的复杂性与潜在陷阱的影响。

3. 通过引用传递参数

Java不支持传递允许修改调用者作用域中的变量的引用。在Java中,对变量的修改通常通过返回值或对象操作来实现,从而保持语言对封装的重视,并且防止意外的副作用。

4. 手动内存管理

C和C++语言允许手动控制和内存分配,对于游戏和设备驱动程序等应用程序非常有用。但是对于面向对象编程来说,使用指针会带来复杂性和潜在的错误。

另一方面Java本身提供了垃圾收集策略作为内存管理策略的一部分。 垃圾收集器能够自动识别并回收使用的内存,将程序从手动内存管理任务中解放,简化开发过程,有助于防止内存泄漏以及相关问题的出现。


Java引用和C++引用的区别

在 C++ 中,引用只是对象的别名。它们只能引用初始化引用时设置的单个对象。

Java 引用类似于 C++ 中的 std::shared_ptr。它们一次只能引用一个对象,但可以重新绑定。它们还给出了对象生命周期的下限,即只要有一个对该对象的引用(强引用),该对象就不会被垃圾收集。

总结一下:

1. C++ 引用在引用的生命周期内绑定到同一个对象,并且在控制对象的生命周期中不发挥任何作用。

2. Java 引用一次绑定到一个对象,但可以在程序执行时分配给其他对象。如果存在对对象的任何引用,则不会被垃圾收集,这与 C++ 不同,在 C++ 中,拥有对对象的引用并不意味着该对象还活着。


扩展阅读:

[Solved] difference between java reference and c++ reference - CodeProject

Why Java does not support pointers?

C/C++ Pointers vs Java References - GeeksforGeeks

http://www.hkea.cn/news/830162/

相关文章:

  • 最新app开发软件石家庄网站建设seo公司
  • 江苏自助建站系统哪家好推广网站要注意什么
  • 唐河做网站关键字搜索引擎
  • 松江专业做网站公司seo视频教程百度云
  • 淄博品质网站建设竞价推广怎么样
  • 搜狗站群系统资源网站优化排名优化
  • 建设一个网站哪家好网站推广优化的原因
  • 做网站的上海公司有哪些情感链接
  • 梧州做网站建设数字营销公司
  • 加强新闻网站建设建议seo高手培训
  • 安丘网站建设制作怎样制作网页设计
  • 食品网站建设优化案例热门职业培训班
  • 龙华新区做网站大地seo视频
  • 网站彩票投注员做啥的真正免费的网站建站平台运营
  • wordpress 中文注册鸡西seo
  • 佛山企业如何建网站seo的内容怎么优化
  • 在什么网站上做自媒体windows优化大师是自带的吗
  • 装修公司的网站怎么做第三方营销平台有哪些
  • 百度公司做网站吗手机网页链接制作
  • 武汉移动网站制作今天新闻最新消息
  • 酒泉建设厅网站百度seo刷排名软件
  • 天津个人网站建设yandex引擎
  • 网站改版建设 有哪些内容网络营销策划方案怎么做
  • 网站建设拾金手指下拉seo的实现方式
  • 北京宣传片湖南seo优化哪家好
  • 下载app 的网站 如何做黑帽seo排名技术
  • 个人是否做众筹网站哪里可以免费推广广告
  • 外贸网站该怎么做青岛百度推广优化怎么做的
  • 网站建设中 网页代码优化关键词排名公司
  • 网站标题优化怎么做泉州百度首页优化