class A{}; class B :public A{};
B b;
A a=b;
static_cast<A>(b);这句创建了临时对象
此时如果 : static_cast<A>(b) = 111;(比如说可以)
并没有改变b的实际值,改变的是临时对象的值,所以不会按照想法输出
实际上这句在VC下是错误的,因为临时变量是CONST的
但在DEV下是正确的,也许支持的不够好吧
class A{}; class B :public A{};
B b;
A a=b;
static_cast<A>(b);这句创建了临时对象
此时如果 : static_cast<A>(b) = 111;(比如说可以)
并没有改变b的实际值,改变的是临时对象的值,所以不会按照想法输出
实际上这句在VC下是错误的,因为临时变量是CONST的
但在DEV下是正确的,也许支持的不够好吧