我是 C++ 的新手,不理解这种结构。

InterceptionKeyStroke &kstroke = * (InterceptionKeyStroke *) &stroke

我知道 & = 指针。但是,这是什么意思?
* (InterceptionKeyStroke *)

最佳答案

分解它:

InterceptionKeyStroke     // a type...
&                         // ...which is by reference
kstroke                   // named 'kstroke'
=                         // bound to (since references are bound)
*                         // something that a pointer points to
(InterceptionKeyStroke*)  // "I know what the type is!" cast
&                         // address of...
stroke                    // ...variable named 'stroke'

所以 *(InterceptionKeyStroke*) 正在转换为一个指针,然后取消引用该指针。

关于c++ - 在 C++ 中,这个结构是什么意思 "InterceptionKeyStroke &kstroke = * (InterceptionKeyStroke *) &stroke"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49464597/

10-12 16:13