C++与Java数组的申明创建初始化的区别
复习Java数组知识的时候,发现数组的申明、创建、初始化在Java和C++的不同之处,特此记录。
Java中,数组的申明 int [] array; //如果现在对array进行初始化, array1[0]=1; 将会报错,提示array还未进行初始化,其实是还未进行内存分配
注意:Java中,数组的申明不同于数据类型的申明,申明一个数组变量时不存在内存中给数组分配内存空间,它只是创建一个队数组的引用的存储位置。
数组的创建 array= new int[10]; //使用new创建了一个数组,然后把心创建的数组的引用赋值给变量array
数组的初始化 array[0]=1;
直接将声明、创建、初始化放在一条语句中 int [] array={1,6,8}; //数组初始化语法中不能使用操作符new
C++中,数组在申明的同时会自动进行内存分配,如
int array1[6]; //现在可以直接进行数组初始化 array1[0]=1;
如果使用new创建数组,使用完数组,必须手动对数组回收,delete array;
如果想要深入 C++ 对象和实例的区别,以及用new和不用new创建类对象区别,请看本人的另一篇博文 C++ 对象和实例的区别,以及用new和不用new创建类对象区别