gpt4 book ai didi

c++ - 通过不同类型的指针删除缓冲区?

转载 作者:可可西里 更新时间:2023-11-01 15:38:49 25 4
gpt4 key购买 nike

假设我有以下 C++:

char *p = new char[cb];
SOME_STRUCT *pSS = (SOME_STRUCT *) p;
delete pSS;

根据 C++ 标准,这安全吗?我是否需要转换回 char* 然后使用 delete[]?我知道它适用于大多数 C++ 编译器,因为它是普通数据,没有析构函数。能保证安全吗?

最佳答案

不能保证安全。这是 C++ FAQ lite 中的相关链接:

[16.13] 删除某些内置类型的数组(charint 等)时,我可以删除[]吗? ?

http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.13

关于c++ - 通过不同类型的指针删除缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70880/

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