首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检索智能指针数组的大小?(e.g std::unique_ptr<int[]>)

如何检索智能指针数组的大小?(e.g std::unique_ptr<int[]>)
EN

Stack Overflow用户
提问于 2015-02-25 22:38:12
回答 1查看 2.4K关注 0票数 5

堆分配的c数组不保留任何大小信息,如下所示:

How can i find the size of a dynamically allocated array in C?

但是,c++11中的智能指针能够使用下标([])操作符重载存储内存,并使用数组版本管理c-数组:

代码语言:javascript
复制
std::unique_ptr<int[]> arr(new int[val]);

当这个智能指针超出作用域时,它大概会释放所拥有的内存块,因此它必须将内存块的大小存储在某个地方。

假设arr是运行时变量,那么如何检索上面示例中分配给val的c数组的大小?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-25 22:41:43

使用new[]/delete[]malloc/free,大小确实存储在某个地方,但是没有标准的方法来访问这些信息。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28731017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档