CreateWAVResourceLoader

CreateWAVResourceLoader

我正在阅读《 Game Coding Complete》这本书,它基本上是关于游戏引擎的概念的。
关于资源缓存的部分有一些我不太了解的代码。

extern shared_ptr<IResourceLoader> CreateWAVResourceLoader();


CreateWAVResourceLoader()看起来像

    shared_ptr<IResourceLoader> CreateWAVResourceLoader()
{
    return shared_ptr<IResourceLoader>(GCC_NEW WaveResourceLoader());
}


然后作者注册wave资源加载器

m_ResCache->RegisterLoader(CreateWAVResourceLoader());


对我来说,行extern shared_ptr<IResourceLoader> CreateWAVResourceLoader();有点令人困惑,因为我正在调用返回shared_ptr的函数,但是如何使用没有名称的指针呢?我很确定这是我缺乏C ++的经验,所以请启发我。 :)

谢谢!

最佳答案

该行是函数声明。它名为CreateWAVResourceLoader,没有参数,并返回shared_ptr<IResourceLoader>

当你说:

m_ResCache->RegisterLoader(CreateWAVResourceLoader());


就是那个时候。它将函数返回的临时共享指针传递给RegisterLoader

关于c++ - 使用不带名称的shared_ptr吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15854705/

10-13 09:42