郁闷,指针好像没有动

piaomiao163 2009-06-10 07:01:48
比如

this->phead->base = new int[STACK_INIT_SIZE];
this->phead->top = this->phead->base;


然后
++this->phead->top;

我发现this->phead->top根本就没有动.~~~
...全文
49 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
风老二 2009-06-10
  • 打赏
  • 举报
回复
++this->phead->top; 错的
你需要自增的指针是top,不是this
Sou2012 2009-06-10
  • 打赏
  • 举报
回复
yejinson 2009-06-10
  • 打赏
  • 举报
回复
受不了楼主了
lylm 2009-06-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 piaomiao163 的帖子:]
比如

C/C++ code
this->phead->base = new int[STACK_INIT_SIZE];
this->phead->top = this->phead->base;




然后
++this->phead->top;

我发现this->phead->top根本就没有动.~~~
[/Quote]

this是个指向const对象的指针,对象不能修改
lambert_s 2009-06-10
  • 打赏
  • 举报
回复
我根据你的意思写了程序测试了一下:

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int *p = new int[10];
cout << p << endl;
++ p;
cout << p << endl;
return 0;
}

输出结果为:

0x9d75008
0x9d7500c

结果是动了。。。
补充下,我用的GCC。。。
zhao1zhong6 2009-06-10
  • 打赏
  • 举报
回复
链表代码贴出来看看.
piaomiao163 2009-06-10
  • 打赏
  • 举报
回复
受不了了~~指向new生成的一串int型的数组的时候 不是 这个指针自增 就能自动指向数组的下一个元素吗???


怎么不动啊????我cout测试了,根本就不动!!!
piaomiao163 2009-06-10
  • 打赏
  • 举报
回复
算了 我自己再耐心的看看~~~
piaomiao163 2009-06-10
  • 打赏
  • 举报
回复
phead->top 是int型的一个指针嘛~~
前面的phead->base指向了新生成的int型的数组.
开始 phead->top = phead->base

后来 ++phead->top 发现他每次根本就不动!!!
neohope 2009-06-10
  • 打赏
  • 举报
回复
this->phead->top++; 呢
phead->top是什么指针?
光宇广贞 2009-06-10
  • 打赏
  • 举报
回复
piaomiao163 2009-06-10
  • 打赏
  • 举报
回复
STACK_INIT_SIZE 是个常量 值是100
机智的呆呆 2009-06-10
  • 打赏
  • 举报
回复
莫非this->phead->base值为this->phead->top-1

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧