第四章 4.11.3节练习

练习4.36

假设i是int类型,d是double类型,书写表达式i*=d使其执行整型的乘法而非浮点类型的乘法。

解答:

i*=static_cast<int>(d);


练习4.37

用命名的强制类型转换改写下列旧式的转换语句。

int i; double d; const string *ps; char *pc; void *pv;

(a) pv = (void*)ps;

(b) i = int(*pc)

(c) pv = &d;

(d) pc = (char*)pv;

解答:

(a) pv = static_cast<void*>(const_cast<string*>(ps));

(b) i = static_cast<int>(*pc);

(c) pv = static_cast<void*>(&d);

(d) pc = const_cast<const char*>(pv);


练习4.38

说明下面这条表达式的含义。

double slope = static_cast<double>(j/i);

解答:

将j/i的结果,强制转换成double类型。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值