第四章 4.11.3节练习

来源:互联网 发布:异或java 编辑:程序博客网 时间:2024/06/05 20:51

练习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类型。

0 0
原创粉丝点击