指针类型转换,难题

sunlightbj sunlightbj 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

现在要做一个指针类型转换,把void* a 变成CDMClass*

原来写的是(CDMClass*)a,未能通过公司的编码规则自动检查器,违反了“不能用c语言风格cast”这一条;

于是改成reinterpret_cast<CDMClass*>(a),又违反了“不允许使用reinterpret_cast”这一条;

大家还有什么招数能做指针类型的转换吗?static_cast不能用于指针转换,VS2003编译不通过
...全文

相关推荐

指针用法总结,指针用法大全

详细介绍了指针的用法及注意事项!让你不再害怕指针。

luosuoluoli

函数指针的强制类型转换实现代码

废话不多少,直接上代码 代码如下:/********************************************************************************* 程序名称:函数指针的强制类型转换 ** 程序描述:** 性能提升:** 程序版本:V1.0*******************************************************************************/#include <stdio>#define abcvoid syr(void){ printf(“hello world!\n”);}int

weixin_38537689

C语言类型转换-自动类型转换、强制类型转换、指针类型转换

C语言类型转换-自动类型转换、强制类型转换、指针类型转换。 一篇文章带你快速了解!

这里是杨杨吖

void*指针类型转换详解[源码]

本文详细介绍了void*指针的类型转换及其在C和C++中的不同处理方式。指针作为存储内存地址的特殊变量,其内存大小相同,这为void*指针存储任意类型指针提供了基础。文章首先解释了指针的基本概念,随后对比了C和C++中对指针类型转换的不同要求:C语言对类型转换要求较低,允许void*与其他类型指针相互赋值,而C++则更为严格,仅允许任何类型指针赋值给void*指针,反之则需显式转换。最后,通过一个_memcpy_函数的源代码示例,展示了void*指针在实际应用中的用途,即在处理任意类型指针参数时,需在使用前进行强制类型转换。

wood5

C++四种强制类型转换

四种强制类型转换:static_cast    const_cast    dynamic_cast     reinterpret_cast   1、static_cast   编译器隐式执行的任何类型转换都可以由static_cast显示完成。   ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以是不安全的。 ②用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。 ③把空指针转换成目标

weixin_38520275
评论 11
收藏 已收藏
分享
返回顶部
sunlightbj
C++ 语言 65,214 成员 250,514 内容