0

基本的にゲームエンジンの概念に関する本「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());

私には、shared_ptr を返す関数を呼び出しているため、この行extern shared_ptr<IResourceLoader> CreateWAVResourceLoader();は少し混乱していますが、名前なしでそのポインターを使用するにはどうすればよいでしょうか? 私のC++の経験不足だと確信しているので、教えてください。:)

ありがとう!

4

3 に答える 3

3

その行関数宣言です。という名前CreateWAVResourceLoaderで、パラメーターはなく、 を返しますshared_ptr<IResourceLoader>

あなたが言う時:

m_ResCache->RegisterLoader(CreateWAVResourceLoader());

それはあなたがそれを呼び出すときです。関数から返された一時共有ポインタを に渡しますRegisterLoader

于 2013-04-06T18:50:22.063 に答える