C++ 戈多';s NetSocket是否创建实例?
我正在阅读的源代码,我无法理解NetSocket类是如何创建其实例的 在中,定义了create(),但我看不出它是如何工作的C++ 戈多';s NetSocket是否创建实例?,c++,godot,C++,Godot,我正在阅读的源代码,我无法理解NetSocket类是如何创建其实例的 在中,定义了create(),但我看不出它是如何工作的 #include "net_socket.h" NetSocket *(*NetSocket::_create)() = NULL; NetSocket *NetSocket::create() { if (_create) return _create(); ERR_PRINT("Unable to create network
#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;
}
特别是,什么是
\u create
?什么是NetSocket*(*NetSocket::_create)()=NULL代码>实际执行吗?您查看的文件不正确。它只是使用一个名为\u create
的函数指针,委托给链接/实例化的任何特定于平台的实现
例如,它设置在中
只需在代码库中搜索\u create
的实例,您就会看到它是如何工作的。您看到的文件是错误的。它只是使用一个名为\u 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;
}
例如,它设置在中
只需在代码库中搜索\u create
的实例,您就会看到它是如何工作的。相关:-不完全是重复的,但应该可以让您开始:)请显示\u create()
-没有它,问题就无法回答。@42milez检查源代码中NetSocket::\u create
函数指针设置为特定函数的位置。听起来该函数有几个特定于平台的实现(很可能是在从NetSocket
派生的类中)。相关:-不完全是重复的,但应该可以让您开始:)请显示\u create()
-没有它,问题就无法回答。@42milez检查源代码中NetSocket::\u create
函数指针设置为特定函数的位置。听起来该函数有几个特定于平台的实现(很可能是在从NetSocket
派生的类中)。谢谢!我理解它的实现。@42milez不错。进一步阅读,也许:我根本不知道指向成员函数的指针,但由于您的帮助,我获得了一种新技术。谢谢:)谢谢!我理解它的实现。@42milez不错。进一步阅读,也许:我根本不知道指向成员函数的指针,但由于您的帮助,我获得了一种新技术。谢谢:)
#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;
}