Advertisement

C++ 转换构造函数

阅读量:

在C/C++语言中,不同数据类型的相互转化是一种常见的操作。对于无需用户明确指定如何执行的数据转化过程,则被定义为隐式的类型转译(即隐式类型转译)。而若要求用户提供明确的操作指示以完成转化任务,则此类转译被定义为强制类型的转译。

自动类型转换示例:

复制代码
    int a = 6;
    a = 7.5 + a;

该编译器将数值7.5视为双精度类型处理,在计算表达式的过程中,在计算过程中将变量a转换为其双精度类型表示,并与数值7.5进行相加运算。随后,在赋予整型变量a的过程中(即向整型变量a赋值),当赋予整型变量a时(即向赋予),当赋予整合算结果到a时(即向赋予),当赋予即将被赋值到a的过程(即即将被赋值到)的时候(即即将被赋值的时候),将在赋予即将被赋值到a的过程中的时候(即即将被赋值的时候)。整个过程中,并没有指示编译器如何执行操作。

强制类型转换示例:

复制代码
    int n = 100;
    int *p1 = &n;
    float *p2 = (float*)p1;

p1 是 int 指针类型,在其指向的内存区域中存储着整数值;而 p2 则是一个 float 指针变量,在将其赋值给 p1 后(即 p2 = *p1; \quad),该变量不仅指向了同一块内存区域,并将其视为浮点数值进行了处理。我们意识到直接

全部评论 (0)

还没有任何评论哟~