草庐IT

loophole

全部标签

c++ - 引用类型的数据成员提供 "loophole"围绕 const 正确性

我最近偶然发现了以下关于const正确性的“漏洞”:structInner{intfield=0;voidModify(){field++;}};structOuter{Innerinner;};classMyClass{public:Outerouter;Inner&inner;//referstoouter.inner,forconvenienceMyClass():inner(outer.inner){}voidConstMethod()const{inner.Modify();//oops;compiles}};似乎还有可能利用这个漏洞来修改声明为const的对象,我认为这是未

c++ - 引用类型的数据成员提供 "loophole"围绕 const 正确性

我最近偶然发现了以下关于const正确性的“漏洞”:structInner{intfield=0;voidModify(){field++;}};structOuter{Innerinner;};classMyClass{public:Outerouter;Inner&inner;//referstoouter.inner,forconvenienceMyClass():inner(outer.inner){}voidConstMethod()const{inner.Modify();//oops;compiles}};似乎还有可能利用这个漏洞来修改声明为const的对象,我认为这是未