一、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