博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++——动态分配内存问题
阅读量:4469 次
发布时间:2019-06-08

本文共 441 字,大约阅读时间需要 1 分钟。

1 class Obj { 2 public: 3     float score; 4     float bbox[4]; 5 }; 6  7 class Result { 8 public: 9     int id;10     float f[4];11     Obj obj[0];12 };

合法,可动态分配内存给Result *,包括不同大小的obj数组,方式如下:

1 Result * r = (Result*)malloc(sizeof(Result) + 3 * sizeof(Obj));

如下则不合法:

1 class Result {2 public:3     int id;4     float f[4];5     Obj obj[0];6     float fea[4];7 };

因为不定长度的结构不在末尾,不能根据类的大小进行合理推断

转载于:https://www.cnblogs.com/zl1991/p/7248848.html

你可能感兴趣的文章
打印某个字符串出现的次数。(新手)
查看>>
mysql 管理
查看>>
Codeforce 1175 D. Array Splitting
查看>>
03.html学习-表格
查看>>
Java反射
查看>>
驱动精灵扩展版(集成万能网卡驱动)无法自动识别网卡的解决方案
查看>>
windows-x64下安装python3.6
查看>>
各银行信用卡延误险整理
查看>>
获取节点的几种小案例
查看>>
Java FTPClient实现文件上传下载
查看>>
.NET垃圾回收机制
查看>>
泛型总结
查看>>
Easy UI实现行内编辑
查看>>
http请求
查看>>
POJ 2588 并查集判联通
查看>>
mongodb启动出现Failed to connect to 127.0.0.1:27017 after 5000ms milliseconds,giving up
查看>>
xpadder教程:自定义设置游戏手柄的图片
查看>>
破产姐妹第六季/全集2 Broke Girls迅雷下载
查看>>
干货!一大波精妙的产品设计细节
查看>>
YUI-compressor 在Linux下安装和使用
查看>>