static_cast 使用时的 误区

来源:互联网 发布:plc仿真模拟软件 编辑:程序博客网 时间:2024/06/18 03:19

class A{}; class B :public A{};

B b;
A a=b;
static_cast<A>(b);这句创建了临时对象

此时如果 : static_cast<A>(b) = 111;(比如说可以)

并没有改变b的实际值,改变的是临时对象的值,所以不会按照想法输出

实际上这句在VC下是错误的,因为临时变量是CONST的

但在DEV下是正确的,也许支持的不够好吧

原创粉丝点击