我已经在我们的代码中看到了这几次,它立刻让我怀疑.但由于我不知道原来的意图,我犹豫要删除它.
//requires double indirection which I won't go into
FooClass::FooFunction(void ** param)
{
//do something
}
SomeClass * A = new SomeClass();
SomeClass **B = &A;
FooFunction( reinterpret_cast<void**>(&*B) ); // what is happening here?
Run Code Online (Sandbox Code Playgroud)
"&*B"部分是有问题的部分?随意整合重新解释演员的解释,但我对演员技巧非常熟悉.
Gre*_*ers 10
我用迭代器完成了类似的事情 - 取消引用迭代器来获取引用,然后执行"&"运算符来获取指针.
我不明白为什么它会在这里做任何事情.如果"&*"右侧的类型是指针类型,它什么都不做.