poc*_*oco 29 c++ casting dynamic
有人可以向我解释一下
dynamic_cast<SomeObject *>( &(*similarObject) );
Run Code Online (Sandbox Code Playgroud)
做取消引用指针的地址有什么意义?指针本身不是它的地址吗?
Naw*_*waz 32
可能是类型similarObject已经过载operator*,因此它会返回您传递给它的地址dynamic_cast.
&(*x)并且x 可能并不总是相同的事情.例如,想一下迭代器:
std::map<int, int>::iterator it = v.begin();
Run Code Online (Sandbox Code Playgroud)
然后,it和&(*it)是两个不同的东西:
it是std::map<int, int>::iterator&(*it)是std::pair<int,int>*他们并非完全相同.您的代码片段也可能发生类似的事情.
Dan*_*Dan 17
如果similarObject是智能指针,则当*已经过载时,此技术有时用于获取原始指针的引用.
| 归档时间: |
|
| 查看次数: |
827 次 |
| 最近记录: |