点击上方蓝字关注我,我们一起学编程
有任何疑问或者想看的内容,欢迎私信
今天我们来学习一下 C++ 中常用的类型转换。
1. static_cast
static_cast 是将表达式转换为某种类型,语法是 T t = static_cast<T>(expression)
。通常用于各种内置类型之间的隐式转换。
#include <iostream>
#include<typeinfo>
using namespace std;
int main() {
double a = 1.23;
auto b = static_cast<int>(a);
cout << b << endl; // 1
cout << typeid(b).name() << endl; // i (i 表示 int)
return 0;
}
在上面的示例中,为了更突出地说明问题,我们在用 auto 变量(类型自动推断)来保存转换后的结果,然后输出转换结果的类型。程序输出结果表示,类型转换成功。
2. const_cast
const_cast 可以修改类型的 const 或 volatile 属性。通常的用法是将常量转换成非常量,从而可以对这个常量进行修改。const_cast 的返回值是一个指向原变量的指针或引用。
#include <iostream>
#include&