我正在阅读godot的源代码,但我不明白NetSocket类如何创建其实例。
在net_socket.cpp中定义了create(),但我看不到它是如何工作的。
#include "net_socket.h"
NetSocket *(*NetSocket::_create)() = NULL;
NetSocket *NetSocket::create() {
if (_create)
return _create();
ERR_PRINT("Unable to create network socket, platform not supported");
return NULL;
}
特别是_create
是什么? NetSocket *(*NetSocket::_create)() = NULL;
实际做什么?
答案 0 :(得分:1)
您正在寻找错误的文件。那个只是使用称为_create
的功能指针委托给已链接/已实例化的特定于平台的实现。
例如在the POSIX impl中设置。
只需在代码库中搜索_create
的实例,即可了解其工作原理。