C++ 类型转换符区别分析
2024-08-29 21:22:33
转载自:https://blog.csdn.net/legalhighhigh/article/details/87459995
1.static_cast
用于将参数转换为指定类型。需要注意的是,进行类型转换时,编译器不会进行类型检查保证安全性。当对类对象进行下行类型转换时,也不会进行动态类型检查,因此是不安全的。static_cast中提供了空指针与任何类型指针的互相转换。
2.dynamic_cast
用法与static_cast基本类似。但在进行类型转换时,编译器会主动进行类型安全检查。dynamic_cast同样支持进行上下行类型转换,但编译器会进行类型检查。当下行转换时,如果父类中不包括虚函数,则编译器会报错。另外,dynamic_cast不支持空指针与一般指针之间的转换。
3.const_cast
const_cast用来修改(去掉)对象的const、volatile和_unaligned属性,除此之外,转换前后的变量并无区别,甚至它们在内存中的地址也是相同的。
最新文章
- SQL必备知识点
- tomcat共享lib里面的jar包
- 文本数据源Fields Format
- ionic cordova 热更新的一些问题
- php基础10:字符串中插入变量
- CSS“反转”为LESS
- __toString()与__call()
- android 旋转手机的时候,如何忽略onCreate再次被系统调用?
- Stones
- 【转】SQL删除重复数据方法
- C++引用之引用的使用
- 【转】Android实例剖析笔记(二)--用实例讲解Andriod的开发过程,以NotesList为实例介绍Android的菜单机制
- error: /usr/include/stdio.h: Permission denied 的一种情况分析
- MySQL Group Replication-MGR集群
- Tomcat修改service.xml性能调优 增加最大并发连接数
- django 跨域解决方案
- Arduino IDE for ESP8266 教程(一) 局域网 网页查看数据 不控制
- [BetterExplained]书写是为了更好的思考
- opencv_java import org.opencv.highgui.Highgui,类中无imread方法
- ubuntu汉化
热门文章
- 安装R和RStudio详细步骤
- SP375 QTREE - Query on a tree (树剖)
- Linux下which、whereis、locate、find命令作用
- Django:内置组件Content-Type
- Flask第三方组件 之 Flask-Session
- php 文件包含 include、include_once、require、require_once
- centos下安装opencv
- nginx-location语法匹配优先级
- DP-LIS and LCS
- 安装nginx环境(含lua)时遇到报错ngx_http_lua_common.h:20:20: error: luajit.h: No such file or directory的解决