C++静态类型转换(static_cast)
一:隐式转换
类型转换顺序,
下面遇见上面的,会将下面转换成上面的 |
---|
long double |
double |
float |
unsigned long long |
long long |
unsigned long |
long |
unsigned int |
int |
short或者char |
例如下面代码
int a = -3;
unsigned int b = 2;
//此处是隐式转换
std::cout <<a+b << std::endl;
该代码的结果并不是负1,因为b的权重更高,所以会将负1转换成unsigned int进行输出,上面代码可以用下面方式正确表示
int a = -3;
unsigned int b = 2;
int c = a + b;
a += b;
std::cout << c << std::endl;
std::cout << a << std::endl;
也就是说,可以将结果再次转换成int即可
二:显式转换
int a = -3;
unsigned int b = 2;
//此处是显示转换
std::cout << (int)(a+b) << std::endl;
三:static_cast
这在C中是没有的,只存在于C++
用法:static_cast<目标类型>(要转换的内容)
int a = -3;
unsigned int b = 2;
std::cout << static_cast<int>(a+b) << std::endl;
C++静态类型转换(static_cast)相关推荐
- C/C++中的数据类型转换()/static_cast/dynamic_cast/const_cast/reinterpret_cast
文章目录 前言 数据类型自动转换 C语言中的强制类型转换 C++中的强制类型转换 static_cast dynamic_cast const_cast reinterpret_cast 强转关键字的 ...
- C++类型转换(static_cast,dynamic_cast,const_cast和reinterpret_cast)
一.概述 类型转换(cast)是将一种数据类型转换成另一种数据类型.例如,如果将一个整型值赋给一个浮点类型的变量,编译器会暗地里将其转换成浮点类型(即 隐式转换 ).转换是非常有用的,但是它也会带来一 ...
- 类型转换static_cast,dynamic_cast,const_cast,reinterpret_cast等
一.隐式类型转换 系统自动进行,不需要程序开发人员介入. int m = 3 +45.6; //把小数部分截掉,也属于隐式类型转换的一种行为. doublen = 3 +45.6; 二.显示类型转换( ...
- c#static中静态方法_用C ++进行静态转换– static_cast()方法
c#static中静态方法 In this article, we'll take a look at using the Static Cast function in modern C++. We ...
- 显式强制类型转换static_cast, dynamic_cast, const_cast, reinterpret_cast
显式强制类型转换(cast)包括以下操作符: static_cast, dynamic_cast, const_cast, reinterpret_cast,对各种显式类型转换解释: static_ ...
- c++类型转换:static_cast, dynamic_cast,const_cast和reinterpret_cast
static_cast 用法:static_cast < type-id > ( expression ) 说明:该运算符把expression转换为type-id类型,但没有运行时类型检 ...
- C++_07----强制类型转换异常
目录 强制类型转换 1.static_cast 1.1 基本数据类型之间的转换 1.2 自定义数据类型转换 1.3 注意:static_cast会导致导致运行期错误. 2.dynamic_cast 2 ...
- 2018.8.14-C++复习笔记总
2018.8.14-C++复习笔记总 // CPPTEST.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iost ...
- 笔记③:牛客校招冲刺集训营---C++工程师(5.9 C++新特性)
0625 C++工程师 第5章 高频考点与真题精讲 5.1 指针 & 5.2 函数 5.3 面向对象(和5.4.5.5共三次直播课) 5.3.1 - 5.3.11 5.3.12-38 5.6 ...
最新文章
- Java 线程 — ThreadPoolExecutor
- 互联网1分钟 |1109
- 由“深”至“广”,探索2022音视频技术的无限可能
- 石头剪刀布 -2013编程之美全国测试赛 每日一练
- idea阅读器插件开发实现
- 还在手写 Nginx 配置?试试这款可视化配置神器,太强了!
- 汉字编码之GBK编码(附完整码表)
- 【原理分析】细说SpringBoot的自动装配原理
- 零基础学习GitHub桌面版-1 GitHub桌面版的下载安装与使用
- 飞信2009_从飞信倒下的八个原因看运营商的复兴之路
- 使用HTML5 select标签来实现更改网页背景颜色
- Javascript-基础-学习笔记
- oracle 数据库网络传输,Oracle数据库之间数据传输方法探讨
- SpringBoot mybatis多数据源配置,记录下我磕磕碰碰的三个月找工作经历
- BP神经网络的非线性函数拟合
- Blender雕刻模块:如何在雕刻过程中无缝合并物体
- 封基表现继续好于大盘
- 行业解决方案|智慧检务:聚焦检察院工作数字化
- 网卡IP地址信息一键查看工具V1.0-免费版
- 积分制管理系统:员工查看积分和申请非任务积分
热门文章
- 【电脑帮助】解决Wind10系统每次运行软件时都要出现提示框的问题
- java二叉树求权值_百度笔试题目:二叉树路径权值和【转】
- electron 打开调试_构建基于 iOS 模拟器的前端调试方案
- erp故障处理流程图_博科Yigo-ERP讲堂 | 您的企业需要实施工厂维护模块吗?
- linux中文件复的概念,诠释 Linux 中“一切都是文件”概念和相应的文件类型
- l2-004 这是二叉搜索树吗?_MySQL索引为何选择B+树
- 不恢复余数除法原理_《有余数的除法》教案
- 把url地址复制到粘贴板上_写个简单的python爬虫爬取堆糖上漂亮的小姐姐
- mysql判断是否包含某个字符的方法
- Linux如何切换图形界面和命令行界面