c语言const类型强制转换,关于C++的强制类型转换浅析
前言
一说起强制类型转换大家都很熟悉,相信很多学习完C++的朋友还在使用C语言的强制类型的方式 (类型)变量.
C++其实也具有自己的一套强制类型转换它们分明是:static_cast reinterpret_cast const_cast dynamic_cast四种类型.
那么肯定会有人好奇C++是不是闲,C语言的强制类型用的舒舒服服的,为什么要新推出来这几个?
新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++中风格是static_cast。C++风格的强制转换其他的好处是,它们能更清晰的表明它们要干什么。程序员只要扫一眼这样的代码,就能立即知道一个强制转换的目
的。
static_cast
static_cast用于非多态类型的转换(静态转换),任何标准转换都可以用它,但它不能用于两个不相关的类型进行转换.
何为不相关类型? 比如int 和 double char short就是相关类型. 和int*就是不相关类型.
我们来看一看static_cast的用法. 例如,通过将一个运算对象强制转换成double类型就能使表达式执行浮点数除法:
double slope = static_cast(j) / i;
当static_cast需要把一个较大的算术类型赋值给较小的类型时,static_cast非常有用。此时,强制类型转换告诉程序的读者和编译器:我们知道并且不在乎潜在的精度损失。一般来说,如果编译器发现一个的算术类型试图赋值给较小的类型,就会给出警告信息;但是当我们执行了显式的类型转换后,警告信息就会被关闭了。
c语言const类型强制转换,关于C++的强制类型转换浅析相关推荐
- c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...
- C语言各种类型之间转换详解
目录 1. C基本类型变量 2. 符号扩展 2.1 规则一: 2.2 规则二: 2.3 规则三: 3. 零扩展 4. 长类型转换为短类型 5. 自动类型转换 5.1 赋值时的类型转换 5.2 运算时的 ...
- C/C++编程知识分享:C++四种强制转换,教你多种类型转换方式!
C语言的强制转换为在数据面前之间加数据类型进行转换,即(目标数据类型)原数据类型.c++为了更好的区分强制转换的类型,达到见其名知其意的效果,共将强制转换分为四种,即 1.static_cast< ...
- python如何强制转换数据类型_python数据类型强制转换实例详解
如果是字符串进行强制转换, 仅仅就是在原数据类型的两边套上引号 2.list : 强制转换成列表""" 如果是字符串,会把每一个字符都单独作为一个元素放到新的列表中 如果 ...
- python如何强制转换数据类型,python数据类型强制转换的方法
python数据类型强制转换的方法 发布时间:2020-06-22 16:43:25 来源:亿速云 阅读:101 作者:清晨 这篇文章将为大家详细讲解有关python数据类型强制转换案例,小编觉得挺实 ...
- c++语言中类型的转换
// test.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" #include "stdio.h" #include & ...
- java中子类与父类强制转换_java中父类强制转换成子类的错觉
引言:父类引用指向子类对象在java中十分常见,比如: Object object=new a();//a是一个类名 但是有时候我们看见子类引用指向了父类对象,就是上边的反过来,比如 图片中圈1标识的 ...
- java小数强制转换,Java中的强制类型转换 大数转小数
首先要明确一下转换规则:大数转小数,多出的高位部分会被截断.比如 int 占 4个byte(32 bit), byte占 1个byte(8bit), 那int 转 byte ,int 高位多出的那24 ...
- java 泛型强制转换_java – 使用泛型强制转换为内部类
请考虑以下代码: public class Outer { public class Inner{ } public static Outer.Inner get(){ Object o = new ...
最新文章
- android手机变微软手机号码,手机居然变平板?微软沦落到抄袭5年前安卓设计
- 【django轻量级框架】云端系统之Django框架
- 人工智能是如何改变IT运维和DevOps的?
- Java中JDBC进阶教程之数据库的隔离级别!
- t检验的p值对照表_论文数据分析实战 | 如何对汇总数据进行t检验
- ln: failed to create symbolic link ‘/usr/bin/mysql’: File exists
- 从实操教学到赛题演练,腾讯专家亲授TI-ONE平台操作攻略!
- excel亮灯怎么设置_EXCEL高手进,用EXCEL实现亮灯功能
- ibm刀片服务器虚拟化,刀片服务器内置虚拟化 IBM升级服务器
- win10如何提高电脑画质_详细教您win10显示器分辨率怎么调节。
- AltiumDesigner PCB案牍(1)——Gerber文件的生成
- 学习线性代数-行列式 笔记(一)
- Sinon 入门,看这篇文章就够了
- 13/6/21 Hella Intern Interview
- 垃圾回收①---概述+相关算法
- 饿了么端智能本地生活领域探索与实践
- 马斯克终于认错:裁掉他们是我最大的错误,但黑粉们却没能笑太久
- 有关计算机组成原理知识的论文,计算机组成原理的相关论文|计算机组成原理论文...
- 通过PID直接获取淘客链接
- swoole服务的重启方式
热门文章
- col-xs-*,col-sm-*,col-md-* 的意义
- 微信开发使用wechat.class.php调用API,测试发现返回no access,公众号出现暂时无法提供服务
- python之蜘蛛侠
- 腐蚀rust高速箭怎么做不了_腐蚀RUST创意工坊皮肤制作教程
- 便宜适合租用学习Linux的云服务器运营商推荐介绍
- 期货交易基差(期货基差和价差)
- 【PB】安装PB9.0问题
- Authing 客户故事|仙工智能
- 4g模块通过什么协议与服务器通信,4G通信模块的分析说明
- 扫地机器人石头爬坡_3年进化——“石头扫地机器人T65”与“米家扫地机器人”对比评测...