博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
零长度数组意义
阅读量:7075 次
发布时间:2019-06-28

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

  hot3.png

在 C++ Primer动态数组中提到:动态分配一个空数组是合法的。

size_t n = get_size();int* p = new int[n];for(int* q = p; q != p + n; ++q)char arr[0];//错误char cp = new char[0];

当我们用new分配一个大小为0的数组时,new返回一个合法的非空指针。此指针保证与new返回的其他任何指针不相同,对于零长度的数组来说,此指针就像尾后指针一样。我们可以像尾后迭代器一样使用这个指针。

陈皓博客中,提到零长度数组意义。

在某一结构末尾如定义类似 char bytes[0] 的零长数组,表示该结构不定长,可通过数组的方式进行扩展。结构中必包含一个长度信息。结构本身类似于一个信息头。同时,此结构只能通过堆方式分配内存。

##Reference##

[1].

[2].

转载于:https://my.oschina.net/lvyi/blog/395565

你可能感兴趣的文章
配置静态LACP模式链路聚合示例
查看>>
带有滚动监听的ScrollView
查看>>
我的友情链接
查看>>
23种设计模式
查看>>
安装cacti可能出现的问题
查看>>
应用程序迁移到云平台的最佳实践
查看>>
类似qq的IM聊天应用源码
查看>>
华赛防火墙USG2210 L2TP over IPsec×××配置实例
查看>>
log4j2基本操作
查看>>
mqtt
查看>>
我的友情链接
查看>>
PDF格式详解
查看>>
我的PGA我作主----搞清楚什么是真正的PGA
查看>>
html取出指定div的内容(不怕嵌套)
查看>>
Windows Server 2012的服务管理自动化 -启动类型设置,手动启动还是自动启动
查看>>
Chrome浏览器调用摄像头拍照
查看>>
表空间在dba_tablespaces中存在,删除时却提示无法删除
查看>>
secure shell(SSH)
查看>>
我的友情链接
查看>>
探秘varian:优雅的发布部署程序
查看>>