问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何做出一个C++可变长数组,请各位帮忙

发布网友 发布时间:2022-05-22 03:26

我来回答

4个回答

热心网友 时间:2024-03-06 03:58

查看vector源码,照抄并简化一下!抄一下MFC的CArray也不错!只要一个指针和一个指示大小的整型就可以了,其他都是锦上添花而已
C++怎么又变成C了。
这么好像很复杂,其实很简单的。
1)需要一个T类型的指针,动态分配内存,需要一个整数记录数组大小
2)一个缺省构造函数
vector();// 无成员,或者任意常量个成员
和一个单参构造函数
vector(int n); //n 个成员
3)添加成员,需要动态改变分配的内存大小。
改变成员数量的函数:
void resize( int n);

添加成员的函数:
void push_back(const T&t);
4)查找指定成员,逐一查找;const int find(const T& t);
查找固定位置的成员----实现 constr T& operator[](int n)const;
5)索引方式访问 实现
下标运算符[] 重载,即
constr T& operator[](int n)const;和
T& operator[](int n);
6)同类型对象赋值,实现
复制构造函数
vector(vector &v);
和 赋值运算符重载
vector operator=(const vector &v
);
7)获取数组当前长度
int size()const ;
不是很复杂呀!

热心网友 时间:2024-03-06 03:58

你的要求类似于c++的CArray类,我把这个类的微软代码给你贴出来,看对你有没有帮助


 

热心网友 时间:2024-03-06 03:59

如果你是要用这个功能的话,其实C语言和C++的类库里都有类似的,vector之类的。
如果你这个是练手的话,你可以先参照固定指针数组和链表的模式去操作,把两个融合在一起就是你要的东西,可以自己写,增加深度,我以前学习时候也写过这种。
如果你这个是作为必须完成的任务,那么就去网上搜索动态指针数组模板,这种例子很多。

热心网友 时间:2024-03-06 03:59

复旦的?董启文?追问so ,and then?
总而言之。。我只要神秘代码!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Request对象语法 9,django中request对象 塞尔达传说时之笛火之神殿Boss房间怎么去 ...的圆形地方怎么上去?打完BOSS后才发现没去过,但我 榆中兴隆山旅游路线 ...兴隆山校区到哪个公交车站最近?应该怎么乘公交车?打车的话得多少钱... 从般若寺到兴隆山法院怎么坐公交车,最快需要多久 那些属于国有经济,哪些属于集体经济 ...丢手机,生病,丢工作,怎么转运啊,谁能告诉我,我快疯了 阴历十月又叫什么月 针对一个可变长数组进行排序,例如输入的数据是 9 6 7 1 2? 如何声明可变长度的数组 C语言 、以下哪个是可变长的数组? A、array B、char[N] C、arraylist D、string[ ] C语言怎样定义变长数组 《学会选择》500字作文 要有描写 有修辞 学会选择作文题目 为什么电脑的屏幕会自动变黑了 动了很多次鼠标才恢复 芭蕾舞蹈歌曲:《飞得更高》 芭蕾舞天鹅之死的音乐 芭蕾舞音乐我爱娃娃音乐 芭蕾舞音乐 舞蹈音乐 假睫毛可以反复多次使用么? 制止餐饮浪费相关措施将会在什么时候出台? 商务部将出台制止餐饮浪费的相关政策,有何意义? 应当如何德法并举制止餐饮浪费现象 做阿里巴巴外贸通怎么做? 西门子cpu315-2dp编程软件 谁知道中国工业自动化技术中心 西门子PLC培训效果 求西门子的面试经历? 求助!西门子PLC 系统功能块怎么打开? 安卓分屏多窗口还能用吗 分享我一下行吗? 谈谈什么是"中国制造2025",以及如何更好的实现这一目标 C语言支持可变长数组吗,如果可以请举例书名。谢谢 如何定义一个可变长度的二维数组 简单问题:如何使用c语言中的变长数组 中国制造2025和德国工业4.0有什么区别 C语言变长数组如何实现(接收用户数据的数组) 什么是中国制造2025的核心 c++ 变长数组 C语言实现一个可变长的二维数组 c语言变长数组和动态数组有什么区别,能否完全取代 求非常想一个人的说说 好听的波兰民间歌曲? 怎样才能成为一个成功的人物 歌词FLY FLY FLY TO是哪首歌 是位波兰女歌手唱歌!!! 如何能成为一个大人物 歌曲la la love 是波兰女歌手唱的..叫什么(中文名字) 一个普通人,想要成为一个大人物需要什么? 波兰民歌介绍 如果让你变成一个电影中的人物,你希望自己是谁,为什么?