Int a=new Int(i);是什么意思;整形数组和对象数组有什么区别?

如题所述

int *a=new int(N)是c++的写法,意思是分配了一个int的空间给整数指针a,并给这个int *a赋初始值N,相当于构造函数的写法。
整形数组就是数组里的每个元素都是一个整数类型
对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。使用时,例如Node node[2]={Node(2),Node(5)}; //(假设是带一个参数的构造函数)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-26
+++++++++++++++++++++++++++++++++++++++++++++
第一个: int a = new int(i);语法上存在错误,int *a = new int(i)是正确的写法;意思是在内存空间分配一个四字节的内存空间(在32位机上),并赋给它值为i,返回这个内存空间的地址给指针a;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
第二个:从广义上说没啥区别,都是一个数据类型,整型也就是int是系统自带的数据类型,而由一个类或其它的自定义数据类型声明的数组,在C++里,称其为对象数组;
第2个回答  2011-04-26
//Int a=new Int(i);是错误的!
#include "stdio.h"
int main()
{
int i=3;
int *a=new int(i); //这样才正确,表示动态分配一个整形单元,这个单元的值为i,单元地址赋给a。
printf("i=%d\n",*a);//输出这个单元的值。
delete a;//释放这个单元。
return(0);
}
第3个回答  2020-01-17
//Int
a=new
Int(i);是错误的!
#include
"stdio.h"
int
main()
{
int
i=3;
int
*a=new
int(i);
//这样才正确,表示动态分配一个整形单元,这个单元的值为i,单元地址赋给a。
第4个回答  2011-04-27
这个是C++的写法,意思是定义一个整形变量,分配一个整形的存储空间