Advertisement

C++ C11 262 标准 C++ C11 262 标准

阅读量:

1.C++中的类型转换分为四种形式:

在C语言中进行转换操作并没有实际意义。具体来说,在C语言中进行强转操作通常采用(int)(int*)的形式。如果你对此操作的目的或意义感到疑惑,则可能是因为缺乏深入的理解或是相关知识储备不足。这种情况下你会觉得其作用变得模糊不清难以把握。因此,在C++中提供了四种不同的类型转换方式来处理这种情况

static_cast:数据类型的值转换操作,在C++编程环境中等同于强转操作,默认实现是将浮点数值精确地转化为整数类型。

复制代码
    int a = 10;
    float ft = 12.23;
    a = static_cast<int>(ft);//转成int
    ft = static_cast<float>(a);//转成float

const_cast即为强制去除常量转换,在C语言中使用int* p = (int*)&a;的方式时(其意义)不够明确;而在C++中使用int* p = const_cast<int*>(&a);这种情况下(其意义)非常明确

复制代码
    const int a = 10;
    int* p = (int*)&a;//C语言方式
    int* p = const_cast<int*>(&a);//C++方式

③reinterpret_cast:是

全部评论 (0)

还没有任何评论哟~