竟然说new int(5)和new int[5]类型会不同,你可不要闹笑话哦
" target="_blank">[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
竟然说new int(5)和new int[5]类型会不同,你可不要闹笑话哦
你这样些的话 就要 int(*p)[10] = new int[X][10]了,X代表任意常量整数;
C++中不一定要int(*)[]这种才是指向一行指针
我不明白你的是 []这个符号有什么难以明白的地方??本来 10*sizeof(int)每一份就是int的类型
当你 int *p = new int[10];p [0],p[1].....之类的都是相隔4个字节;
那么获得的值是完全正确的,为什么一定要 int(*p)[]才可以是指向行数组???
p [0],p[1].....之类的都是相隔4个字节;
是因为 int *p
与 = 右边无关
我问你的是
(new int[10]) +1 是否是合法的运算
如果是
(new int[10]) 与 (new int[10]) +1 相差几个字节
(还有,我从来不使用行指针这样不科学的概念)
合法运算,我说了无数次了 你自己看看我的帖子, 关于 new operator 和 operator new的关系,并看看 void *operator new调用的是什么
(new int[10]) 与 (new int[10]) +1 相差几个字节
相差4个字节
[此贴子已经被作者于2006-7-24 23:22:05编辑过]