c++中用new给未知大小的数组分配空间怎么弄?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中用new给未知大小的数组分配空间怎么弄?相关的知识,希望对你有一定的参考价值。
想用new来分配动态空间,但是比如一个用来存待输入单词的字符数组,不知道大小怎么办?
参考技术A new 是动态申请的,需要空间之前,你应该先去获取需要的大小,然后使用new 申请空间。你描述的问题,可以这样考虑,你先申请一块空间,然后开始接受输入,当输入的长度大于你预先申请的空间时,重新申请一块更大的空间,将之前输入拷贝到新申请的空间,释放预先申请的空间。 参考技术B 可以定义一个缓冲区,当读入字符超过缓冲大小了,就在原来基础上在增加一个缓冲的大小,把原来缓冲的内存复制过来,释放原来内存。然后重载 >> 操作符,在重载函数中实现在输入过程中动态调节大小的。C++中用new开辟一个对象后怎么给其私有数据成员赋值
要实现C++中用new开辟一个对象后怎么给其私有数据成员赋值,那么有两个途径1.
设置友员,友员类或者友员函数。只要是这个类的友员,都可以访问它的私有成员
2.
为类添加公有函数来访问私有成员,最典型的主是Getter/Setter
你说的用链表连接,不明白是什么意思。
new
ClassName()将产生一个ClassName的对象,并返回其地址,所以
ClassName*
p
=
new
ClassName()
然后这个p当然可以用于链表。 参考技术A 你用new是分配了一个类的空间,然后这个类的指针就用p来表示了,赋值的时候只需要p->chengyuan-xxx,就可以了
以上是关于c++中用new给未知大小的数组分配空间怎么弄?的主要内容,如果未能解决你的问题,请参考以下文章