作者:此恨缠绵_793 | 来源:互联网 | 2022-12-02 15:25
在以下代码中:
#include
using namespace std;
int main()
{
const int i = 8;
int j = 90;
const_cast(i) = 10;
static_cast (j);
j = 200;
cout <<" i = " <i = 10
j = 90
但实际产量是
i = 8
j = 200
所以铸造不起作用?
1> Bathsheba..:
行为const_cast(i) = 10;
是未定义的.那是因为i
最初是const
你扔掉了const
-ness 并试图写入对象.所以可以观察到任何输出.
static_cast (j);
是一个无操作:它不会以某种方式转换j
为const
类型.随后j = 200;
是一项微不足道的任务