我正在使用Arduino library并对其所做的某个电话提出疑问。这个问题与BTD(蓝牙设备库)
有关在受保护变量下的头文件中,它会创建一个指针:
USB *pUsb;
在cpp:
BTD::BTD(USB *p){
connectToWii(false),
pairWithWii(false),
connectToHIDDevice(false),
pairWithHIDDevice(false),
pUsb(p), // Pointer to USB class instance - mandatory
/*
*Other unrelated Code
*/
}
我只是想知道pUsb(p)的调用是什么 对于我的问题的任何问题,我道歉,因为这是我第一次提交到这个网站,我对C ++很新。我知道java,所以我理解编码概念,但我从未在一个半小时的研究之前和之后看到过这一点。谢谢您的帮助! KPitt
答案 0 :(得分:0)
您没有正确复制语法,实际上是
BTD::BTD(USB *p)
: connectToWii(false),
pairWithWii(false),
connectToHIDDevice(false),
pairWithHIDDevice(false),
pUsb(p) // Pointer to USB class instance - mandatory
{
/*
*Other unrelated Code
*/
}
注意构造函数体之前的:
。这是constructor member initializer list,它正在初始化该类的成员变量。因此这一行
pUsb(p)
取USB*
参数p
并将其复制到成员变量pUsb
。长话短说,它只是复制指向其成员变量的指针。