我是 C++ 的新手,并且涉足飞行设备源代码。我知道您可以像这样限制指针的类型
CRectangle * prect; //prect is a pointer that must point to an object of type CRectangle
我也知道您可以引用namespace中的变量,如下所示:
cout << first::var << endl; //prints value of var in namespace = first
cout << second::var << endl; //prints value of var in namespace = second
话虽如此,我试图理解飞行设备代码库中的这行代码:
FGKeyboardInput * FGKeyboardInput::keyboardInput = NULL;
似乎它正在创建一个名为keyboardInput 的FGKeyboardInput 类型的指针。但是我对键盘输入之前的命名空间声明的作用感到困惑。是否将变量键盘输入声明为命名空间 FGKeyboardInput 的一部分?在链接的命名空间教程中,您通过将变量包含在命名空间括号中来将其声明为某个命名空间的一部分。上面的代码是这样的简写吗?
namespace FGKeyboardInput
{
FGKeyboardInput * keyboardInput = NULL;
}