gpt4 book ai didi

c++ - 在堆上分配的内存大小

转载 作者:搜寻专家 更新时间:2023-10-31 00:21:08 25 4
gpt4 key购买 nike

如果缓冲区包含“0”个字符,您能否检查在堆上分配的内存大小?

char *c = new char[6]; //random size memory
memset(c, 0, 6);

最佳答案

没有可靠的方法可以做到这一点 - 您必须自己存储该信息。

operator new[]() 函数可以以任何方式实现(并由您替换),因此您无法知道大小,除非您知 Prop 体的实现细节。

在 Visual C++ 中,内置类型的默认实现只是将调用转发给 malloc() - 然后您可以尝试 _msize(),但同样不可移植甚至可能不可靠。

关于c++ - 在堆上分配的内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com