我正在阅读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;
}


特别是什么是_createNetSocket *(*NetSocket::_create)() = NULL;实际上是做什么的?

最佳答案

您正在查看错误的文件。那个只是使用称为_create的函数指针委托给已链接/已实例化的特定于平台的任何实现。

例如,将其设置为the POSIX impl

只需在代码库中搜索_create的实例,您就会知道它是如何工作的。

关于c++ - godot的NetSocket如何创建实例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54267452/

10-11 00:47