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

编程入门 行业动态 更新时间:2024-10-18 03:29:48
本文介绍了通过不同类型的指针删除缓冲区?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

说我有以下C ++:

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

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

Is this safe according to the C++ standard? Do I need to cast back to a char* and then use delete[]? I know it'll work in most C++ compilers, because it's plain-ordinary-data, with no destructors. Is it guaranteed to be safe?

推荐答案

不能保证安全。这里有一个相关的链接在C + + FAQ lite:

It's not guaranteed to be safe. Here's a relevant link in the C++ FAQ lite:

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

[16.13] Can I drop the [] when deleting array of some built-in type (char, int, etc.)?

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

更多推荐

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

本文发布于:2023-07-31 07:42:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1256798.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:缓冲区   指针   不同类型

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!