之后编译器就想试试可不可以把const 迭代器引用转换为非const迭代器引用(隐式类型转换),这肯定是语法不允许的,这属于权限的放大,自然就报了一个不能转换为非const迭代器的报错了。 解决方案: 了解了报错原因,我们只需要提供一份const GetIterator就好了。 EOF
动态转换可以在运行时期完成,适用于具有继承关系的类或指针类型之间的转换。动态转换会进行类型检查,如果类型无法转换,则返回空指针(对于指针类型)或抛出bad_cast异常(对于引用类型)。 3. 常量转换(const_cast)。 常量转换用于去掉表达式的const属性,使其变成非常量表达式。常量转换不能改变表达式的类型,只能改变const属...
*pc = 'C'; // would allow to modify a const object