首页 > 编程语言 >论 C++、C、Go 和 Java 的最大不同

论 C++、C、Go 和 Java 的最大不同

时间:2022-10-23 23:00:57浏览次数:45  
标签:arr Java C++ Go new 指针

 一、C++、C、Go 中的如下语句:

  struct xxx  s1;

  vector<int> v; (甚至会调构造函数!)

  var ABC someType

   其实会创建一个 能用的 对象!!、之后用他们进行操作基本上没什么大问题

  但是在 Java 里、如果写:

    ArrayList arr;

  但是不去 new 一块内存并且分配的话、一用 arr 就会报空指针错误、这样写是不能用的!!

  所以写多了 Java 代码、写 C系列代码总觉得用栈变量很不舒服、总觉得很危险、不完整、但其实用栈而非堆,可以防止忘了释放指针(Java中随便new、有GC)

  但C++、C中还有个风险就是返回局部变量的指针给外面使用、但这个风险在Go里是没有的、Go又有指针、又有垃圾回收、在确实没人引用某个变量的情况下才会释放、挺逆天的。

  

二、C++、C 导 “包” 比较困难、h、lib、dll基本上是三座大山

  Java可以用maven

  go就离谱了、一个 import 完事了

 三、C++里的“框架”看起来很low

 

  

标签:arr,Java,C++,Go,new,指针
From: https://www.cnblogs.com/gs590/p/16819945.html

相关文章

  • 小白学习之路--java开发环境
    开发环境安装jdk市面企业主流还是jdk8我这就随便提供一个链接,网上实在是太多了,随便百度,面向百度编程jdk安装教程这个大佬写的挺全的IDE这个ide的话,我接触的有id......
  • Java异常的捕获和处理
    ......
  • 多测师肖sir____java自动化测试____基础介绍
    一、基础介绍1、为什么要做自动化测试(1)高级技能,发展趋势(2)提高代码的使用率(3)节省回归时间2、怎么去学习自动化测试(1)先学一门编程语言3、web自动化测试?定义:模拟手......
  • golang中的nil接收器
    索引:https://waterflow.link/articles/1666534616841我们先看一个简单的例子,我们自定义一个错误,用来把多个错误放在一起输出:typeCustomErrorstruct{ errors[]string......
  • JAVA--LinkedList底层双链表添加元素超详细
     集合里面存储的都是对象    添加第一个元素    添加第二个元素    依次往后添加对象/元素。   first指向linkedList集合里存储的第......
  • 小白学习之路--java特性
    java特性总结一下java的特性简单性没啥好说的,它对c++进行再度封装,摒弃了c里面难懂的指针引用,还不用去分配内存,有了垃圾回收机制,不需要程序员手动回收内存面向对象......
  • hands-on design patterns with c++ 电子书 pdf
    作者:FedorGPikus出版社:PacktPublishing-ebooksAccount副标题:MastertheDesignPatternstocreaterobust,reusableandeasilymaintainableapps 链接:h......
  • 【Java】再说下Java多态中的向上转型和向下转型
    做比较多的服务端接口测试后,如果是http接口,使用jmeter、postman工具来测试都是比较方便的。如果是RPC接口,使用以上的工具就会比较吃力了。如果你对Java语言比较熟悉,建议可以......
  • golang postman workspaces(api)
    获取所有workspacespackagemainimport("fmt""net/http""io/ioutil")funcmain(){url:="https://api.getpostman.com/workspaces"method:="GET"client:......
  • Java关键字(五)——this
    this也是Java中的一个关键字,在《Java编程思想》第四版第五章5.4小节对this关键字是这样介绍的:this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引......