- C++ 基础
- C++ 首页
- C++ 概述
- C++ 环境设置
- C++ 基本语法
- C++ 注释
- C++ Hello World
- C++ 省略命名空间
- C++ 常量/字面量
- C++ 关键字
- C++ 标识符
- C++ 数据类型
- C++ 数值数据类型
- C++ 字符数据类型
- C++ 布尔数据类型
- C++ 变量类型
- C++ 变量作用域
- C++ 多个变量
- C++ 基本输入/输出
- C++ 修饰符类型
- C++ 存储类
- C++ 运算符
- C++ 数字
- C++ 枚举
- C++ 引用
- C++ 日期和时间
- C++ 控制语句
- C++ 决策
- C++ if 语句
- C++ if else 语句
- C++ 嵌套 if 语句
- C++ switch 语句
- C++ 嵌套 switch 语句
- C++ 循环类型
- C++ while 循环
- C++ for 循环
- C++ do while 循环
- C++ foreach 循环
- C++ 嵌套循环
- C++ break 语句
- C++ continue 语句
- C++ goto 语句
- C++ 构造函数
- C++ 构造函数和析构函数
- C++ 复制构造函数
C++ 转换运算符
转换是一种特殊的运算符,它强制将一种数据类型转换为另一种数据类型。作为运算符,转换是单目运算符,其优先级与任何其他单目运算符相同。
大多数 C++ 编译器支持的最通用的转换如下所示:
(type) expression
其中 type 是所需的数据类型。C++ 支持其他转换运算符,它们列在下面:
const_cast<type> (expr) - const_cast 运算符用于在转换中显式覆盖 const 和/或 volatile。目标类型必须与源类型相同,除了其 const 或 volatile 属性的更改。这种类型的转换操作传递对象的 const 属性,将其设置为或删除。
dynamic_cast<type> (expr) - dynamic_cast 执行运行时转换,验证转换的有效性。如果无法进行转换,则转换失败,表达式计算结果为 null。dynamic_cast 对多态类型执行转换,并且只能将 A* 指针转换为 B* 指针,前提是所指向的对象实际上是 B 对象。
reinterpret_cast<type> (expr) - reinterpret_cast 运算符将指针更改为任何其他类型的指针。它还允许在指针与整数类型之间进行转换,反之亦然。
static_cast<type> (expr) - static_cast 运算符执行非多态转换。例如,它可以用于将基类指针转换为派生类指针。
在使用类和对象时,将使用所有上述转换运算符。现在,尝试以下示例以了解 C++ 中提供的简单转换运算符。将以下 C++ 程序复制并粘贴到 test.cpp 文件中,然后编译并运行此程序。
#include <iostream>
using namespace std;
main() {
double a = 21.09399;
float b = 10.20;
int c ;
c = (int) a;
cout << "Line 1 - Value of (int)a is :" << c << endl ;
c = (int) b;
cout << "Line 2 - Value of (int)b is :" << c << endl ;
return 0;
}
编译并执行上述代码后,将产生以下结果:
Line 1 - Value of (int)a is :21 Line 2 - Value of (int)b is :10
cpp_operators.htm
广告