练习4.36:假设i是int类型,d是double类型,书写表达式i *= d使其执行整数类型的乘法而非浮点类型的乘法。
答:
double i *=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=reinterpret_cast<void*>(ps)
(b)i=static_cast<int>(*pc)
(c) pv=reinterpret_cast<void*>(&d)
(d) pc=reinterpret_cast<char*>(pv)
练习4.38:
说明下面表达式的含义
double slope = static_cast<double>(j/i);
答:通过对象强制将(j/i)的结果转换成double类型