我希望了解以下两段代码。我不精通 C++ 和指针以及可以与它们一起使用的操作对我来说仍然有点不清楚。
第一段代码
我很难理解这个函数的实际作用。它接受一个无符号字符指针并返回一个。但我目前看到的方式,它只是返回一个指向与原始位置相同的指针。不过,我很可能是错的。
unsigned char* MemoryPool::GetNext(unsigned char* pBlock)
{
unsigned char** ppChunkHeader = (unsigned char**)pBlock;
return ppChunkHeader[0];
}
编辑:我尝试提高格式的质量并澄清我的问题。感谢您的有用评论和回答。
第二段代码
我知道这是一个 typedef,它为类型名称 ActorComponent 下的函数指针起别名(这是一个正确的术语吗?)。但是函数指针的函数类型返回什么?如果函数指针语法是:
void (*foo)(int);
那么下面这行代码中括号前的星号是什么意思呢?
typedef ActorComponent *(*ActorComponentCreator)(void);