C++ 关于指针new的问题

指针可以通过 new 语法,为指针申请一块空间,如:

int *q = new int[10];

并且当作数组使用它;
但我在使用的时候想让他再多几块空间,
便又给他申请:

int *q = new int[10];
< 一堆雪一样的臭代码(恼) >
q = new int[10]

这样时候数据就臭了,变得奇奇怪怪的
请问这是为什么?该怎么解决?

多几块空间,你怎么还是int[10]呢?这只是另外申请一个10个整型的空间,并没有增加q指针指向的空间大小啊
另外,这样前面申请的空间就出现内存泄漏了。