使用C语言的强制类型转换将基类指针转换成子类指针如何判断是否合法?
项目中有一些地方使用C风格的强制类型转换语法转换基类指针为子类指针。
我做了个试验,发现即使指针内容不是对应的子类的实例,转换出来的指针依旧是可以使用的(错误地使用)。
由于编译器的配置等原因,现在不能讲这种写法替换成C++的 dynamic_cast ,请问有什么办法加强转换的安全行吗?
我做了个试验,发现即使指针内容不是对应的子类的实例,转换出来的指针依旧是可以使用的(错误地使用)。
由于编译器的配置等原因,现在不能讲这种写法替换成C++的 dynamic_cast ,请问有什么办法加强转换的安全行吗?
...全文
相关推荐
C语言中int到float的强制类型转换
C语言中int到float的强制类型转换在C语言中,强制类型转换是非常常见的操作之一,而int到float的强制类型转换则是其中一种非常重要的类型转换。
C语言类型转换-自动类型转换、强制类型转换、指针类型转换
本篇文章将详细探讨C语言中的三种主要类型转换:自动类型转换、强制类型转换以及指针类型的转换。
关于结构体指针类型的强制转换
在C语言编程中,为了能够灵活地访问这些寄存器,开发者往往需要使用到结构体指针,并且在某些情况下可能还需要对这些指针进行强制类型转换。
函数指针的强制类型转换实现代码
在本篇代码中,我们将探讨如何在C语言中实现函数指针的强制类型转换。函数指针是一种特殊的指针,它存储的是一个函数的地址,允许我们在运行时动态地调用不同类型的函数。在这里,我们关注的是将一个void函数指
c语言数组访问及强制转换
### C语言数组访问及强制转换#### 摘要与背景本文主要探讨了C语言中的数组访问机制及其与强制类型转换之间的关系。


