请教个动态指针的操作问题
刚刚开始学习C++,现在遇到了一个对动态数组的操作问题,例如:
char *p = new char[100];
p = p + 1; //指向下一个元素
delete [] p; //如果不delete,就不会报错
这时,只要delete编译器就会报错,查了一下貌似是不能对动态申请的指针进行重新赋值的问题。于是,重新定义:
char *p = new char[100];
char *p2;
p2 = p1
p2 = p2 + 1;
delete [] p;
这样就能操作那块内存了,我的困惑是:
1、定义一个指定,如例子里的*p2,是不是一定要delete掉它?
2、如何规范操作申请的动态数组?
谢谢!