我正在研究Entity Component System图书馆用于学习目的,我正在努力对我的设计进行重大修改。
我打算将class System
与update
个update
调用分成几个std::function
个函数。但是这些功能可以是任何功能,也可以是功能性的。所以我结束了很多不同的tuple
类型。
出于性能原因,我真的不想使用std::array
(或者它真的很有效,请告诉我)。我想使用std::function
,但如何将各种struct
放在一起?实际上它是std::function
,其中包含struct
,但正因为如此,//Function to add a function in the list [[Call by User]]
addSystemBloc<Position, Speed>(function(ArgIDontKnow, Position, Speed), otherThings);
//Function to generate a structure (probably a graph) linked to the array
generateGraph();
//Inside the initialization of the System using the function we just add [[ Call by User ]]
addArgument(id, arg); //id is not really nice, and this guy know the function he wants to add an arg (with std::bind)
//Somwhere in the main loop [[ Call by Library ]]
invoke(func, Position, Speed);
会遇到相同类型的问题。
如果数组可以在编译时生成(没有参数),那将是最好的。
有一个例子(不是真实的代码),我希望它能如何运作。
{
"Result": -1,
"Message": "E-mail/Mobile number or password is wrong, make sure your Mobile Number is entered with country code.",
"MessageType": 2,
"ResponseData": ""
}
无论如何,谢谢
答案 0 :(得分:2)
数组是指定类型的固定长度值序列。 元组是指定类型的固定长度值序列。 没有方法的结构是指定类型的固定长度值序列。
这些都具有相同的性能特征,包括检索元素(即常量)和移动/复制(即sizeof(Thing)字节)。
您想象的“性能问题”是什么?