C++ 指向 class 或普通变量的指针
C++ Pointer to a class or an ordinary variable
我正在处理这个 C++ 项目,它使用了一个没有很好记录的开源库,我遇到了这个代码块:
IDataObserver* GetDataObserver()
{
return &mFDO;
}
还有这个对象创建:
ICommandAcceptor* mpCommandAcceptor;
我发现 IDataObserver 是这个库中的一个 class。我读过一个指向 class 的指针和一个指向内存位置和值的指针。但是我怎么称呼这个 "IDataObserver* GetDataObserver()" ?它甚至是一个指针吗?这是否意味着 GetDataObserver() 是 class 的一个实例或什么?在创建对象时,mpCommandAcceptor 对象是从一个名为 "ICommandAcceptor" 的 class 创建的,但是 * 符号是怎么回事?谢谢
我假设通过询问 what is GetDataObserver()
,您的意思是 return 。
该函数是 return 类型 IDataObserver*
,即指向 class IDataObserver
.
对象的指针
ICommandAcceptor* mpCommandAcceptor;
此处,mpCommandAcceptor
是指向 ICommandAcceptor 类型变量的指针。
考虑 int* i
,这意味着 i
是指向 int 类型变量的指针。
在上面的例子中,它是一个指向类型 class ICommandAcceptor
.
的实例的指针
GetDataObserver()
函数不 return 指向 class 的指针;它 return 是指向类型 class IDataObserver
的实例的指针,是 class.
的对象
在这种情况下,API 函数是 returning class.
的一个实例
IDataObserver mFDO ; // uses the constructor that instantiates the class.
IDataObserver* GetDataObserver(){
return &mFDO;
}
int main() {
IDataObserver* test = GetDataObserver(); //Calls the global function to get an instance of the data observer.
return 0;
}
GetDataObserver() 只是一个函数,用于return 对象mFDO 的对象指针。
mpCommandAcceptor 是 ICommandAcceptor 的对象指针值。
我正在处理这个 C++ 项目,它使用了一个没有很好记录的开源库,我遇到了这个代码块:
IDataObserver* GetDataObserver()
{
return &mFDO;
}
还有这个对象创建:
ICommandAcceptor* mpCommandAcceptor;
我发现 IDataObserver 是这个库中的一个 class。我读过一个指向 class 的指针和一个指向内存位置和值的指针。但是我怎么称呼这个 "IDataObserver* GetDataObserver()" ?它甚至是一个指针吗?这是否意味着 GetDataObserver() 是 class 的一个实例或什么?在创建对象时,mpCommandAcceptor 对象是从一个名为 "ICommandAcceptor" 的 class 创建的,但是 * 符号是怎么回事?谢谢
我假设通过询问 what is GetDataObserver()
,您的意思是 return 。
该函数是 return 类型 IDataObserver*
,即指向 class IDataObserver
.
ICommandAcceptor* mpCommandAcceptor;
此处,mpCommandAcceptor
是指向 ICommandAcceptor 类型变量的指针。
考虑 int* i
,这意味着 i
是指向 int 类型变量的指针。
在上面的例子中,它是一个指向类型 class ICommandAcceptor
.
GetDataObserver()
函数不 return 指向 class 的指针;它 return 是指向类型 class IDataObserver
的实例的指针,是 class.
的对象
在这种情况下,API 函数是 returning class.
IDataObserver mFDO ; // uses the constructor that instantiates the class.
IDataObserver* GetDataObserver(){
return &mFDO;
}
int main() {
IDataObserver* test = GetDataObserver(); //Calls the global function to get an instance of the data observer.
return 0;
}
GetDataObserver() 只是一个函数,用于return 对象mFDO 的对象指针。 mpCommandAcceptor 是 ICommandAcceptor 的对象指针值。