关于动态数组的问题
比如要向一个数组中存放一个字符串,但字符串的长度并不知道,可能很长,有几百个那么长,也可能很短只有几个!如果数组申请的太长,造成内存浪费,如果太短又造成内存泄露,现在想用new和delete来动态的申请内存和释放内存,最好能重复的申请内存!我的思想是
1.首先用new 申请内存空间,并通过返回值返回所开辟空间的地址,并用指针接收,此指针就相当于数组名。
2.使用此数组,进行字符串的赋值。
3.当数组空间满的时候再按1中的方法在次申请空间,并把上一次空间的内容复制到新的空间中,然后释放上次的空间,继续字符串的输入,当满的时候,再次申请,直到字符串输入完为止。
例如:
字符串长度为200(事先不知道此长度),第一次动态的申请10个长度的数组,当输入满之后,再次申请20个长度的内存,把第一次申请的内存中的内容复制到20个长度的里面,把10个的delete掉,当再满的时候再按上次方法处理···直到字符串输入完毕!
路过的朋友都看一下··