4 c++ 表达式

sizeof运算符

// sizeof返回 类型 或 变量的类型 或 表达式 所占空间大小
int size = sizeof("Hello");
cout << size << endl; // 输出6

vector<string> list = { };
cout << sizeof(list) << endl; // 输出24

vector<string> list1 = { "AB", "CD", "EF" };
cout << sizeof(list1) << endl; // 输出24

cout << sizeof(vector<string>) << endl; // 输出24

显示转换

static_cast

double data = 1;

// static_cast,不包含底层const,都可以使用
void* vp = &data;
double* dp = static_cast<double*>(vp);
const void* cvp = &data;
double* cdp = static_cast<double*>(cvp); // 错误,无法显示转换

const_cast
const double data = 1;

// const_cast,改变对象 底层const ,只能改变指针类型
const double *cdp = &data;
double *dp = const_cast<double *>(cdp);
*dp = 2;
cout << *dp << endl;

reinterpret_cast
指针转换,用于指针本来就是要转换的类型

Directories* dir = reinterpret_cast<Directories*>(dir);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值