宜城网站开发,wordpress timer,广告公司名称,404免费模板下载文章目录 一、静态类型转换 static_cast1、C 静态类型转换 static_cast2、C 语言隐式转换弊端3、代码示例 在之前写过一篇 C 类型转换的博客 【C 语言】类型转换 ( 转换操作符 | const_cast | static_cast | dynamic_cast | reinterpret_cast | 字符串转换 ) , 简单介绍了 C 类… 文章目录 一、静态类型转换 static_cast1、C 静态类型转换 static_cast2、C 语言隐式转换弊端3、代码示例 在之前写过一篇 C 类型转换的博客 【C 语言】类型转换 ( 转换操作符 | const_cast | static_cast | dynamic_cast | reinterpret_cast | 字符串转换 ) , 简单介绍了 C 类型转换 ;
在 博客 【C】类型转换 ① ( C 中的类型转换 | C 类型转换操作符 | const_cast | static_cast | dynamic_cast | reinterpret_cast ) 将 C 语言 和 C 中的类型转换进行了对比 ; 一、静态类型转换 static_cast 1、C 静态类型转换 static_cast C 中的 static_cast 静态类型转换 , 是使用频率最高的 类型转换 操作符 ,
使用 该 静态类型转换 时 , 在编译器进行静态编译时 , C 编译器会进行 类型检查 , 如果 出现类型错误 , 编译时会进行提示报错 ;
与之相对的事 , C 语言中如果可以进行隐式类型转换 , 如果使用 C 的静态类型转换 , 在 C 编译器 编译时会进行类型检查 , 如果有错编译不通过 , 这样不容易出错 ; C 静态类型转换示例 : double pi 3.14;// C 中的 静态类型转换// 静态编译时 , C 编译器会进行 类型检查// C 语言中如果可以进行隐式类型转换 , 如果使用 C 的静态类型转换// 此时在 C 编译器 编译时会进行类型检查 , 如果有错编译不通过 , 这样不容易出错int num3 static_castint (pi);2、C 语言隐式转换弊端 使用 C 静态类型转换 static_cast 可以避免 C 语言 隐式转换的 弊端 ; 使用 C 语言的 隐式 强制类型转换 , // C 语言中 隐式类型转换 赋值时自动转换int num pi;在 编译器 编译时 , 会报如下警告 ,
严重性 代码 说明 项目 文件 行 禁止显示状态
警告 C4244 “初始化”: 从“double”转换到“int”可能丢失数据 HelloWorld Y:\002_WorkSpace\002_VS\HelloWorld\HelloWorld\Test.cpp 9 使用 C 语言 的 显示类型转换 手动强制转换 , 和 使用 C 的 静态类型转换 , 不会出现警告 ; 3、代码示例 代码示例 :
#include iostream
using namespace std;int main() {double pi 3.14;/*I. C 语言类型转换*/// C 语言中 隐式类型转换 赋值时自动转换int num pi;// C 语言中 显示类型转换 手动强制转换int num2 (int)pi;/*II. C 类型转换*/// C 中的 静态类型转换// 静态编译时 , C 编译器会进行 类型检查// C 语言中如果可以进行隐式类型转换 , 如果使用 C 的静态类型转换// 此时在 C 编译器 编译时会进行类型检查 , 如果有错编译不通过 , 这样不容易出错int num3 static_castint (pi);// 控制台暂停 , 按任意键继续向后执行system(pause);return 0;
};执行结果 :
请按任意键继续. . .