static_cast

复制代码
static_cast:明确隐式转换
dynamic_cast:父子类转换,运行时类型识别RTTI,有额外的开销,一般在向下转换时才使用,必须要有虚函数
reinterpret_cast:显示强转,后果自负

int main()
{
    int n = 5;
    float f = 10.0f;
    
    f = n;//隐式转换
    
    f = static_cast<float>(n);
//static_cast    
    //低风险的转换
    //整形与浮点型
    //字符与整形
    //void*指针的转换
    //转换运算符的方式
    
    
    int kk;
    char* p;
    p = kk;
    
//reinterpret_cast    
    //高风险的转换
    //整形与指针类型转换
    //不同类型的指针
    //不同类型的引用
    int n;
    int*p = (int*)n;
    int*p = reinterpret_cast<int*>(n);
    //
    
    return 0;
}
复制代码

 

posted @   zzyoucan  阅读(594)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示