请教简单C++的问题..谢谢
1.int* w=((int*)this)->i++
((const _cast <Y*>(this)->i++
这里是强制吧..我看不懂啊..请大虾讲讲
2.书上出现这样2个定义的函数:第一个是这样:int castQuote() const///第2个是这样的:const char* quote()
请问下,这2个里。 const 在不一样的位子..有啥区别啊
谢谢
[解决办法]
1. 强制类型转化由用户自己保证其行为的正确性。对于你这个代码而言,即使通过强制类型转化使得编译可以成功,也不会保证运行时正确;
2. int castQuote() const是确保函数体内不能改写比如类成员变量数据,否则出错;
const char* quote() 是指返回一个指向字符串的指针,该指针内容不允许更改,所以复制的时候必须这样:
const char* str = quote();