运行时不执行任何操作的函数是否有任何用处,即:
void Nothing() {}
请注意,我所说的不是等待一定时间的函数,如sleep(),而是编译器/解释器所花费的时间。
当我创建包含函数指针的表时,我确实使用空函数。
例如:
typedef int(*EventHandler_Proc_t)(int a, int b); // A function-pointer to be called to handle an event
struct
{
Event_t event_id;
EventHandler_Proc_t proc;
} EventTable[] = { // An array of Events, and Functions to be called when the event occurs
{ EventInitialize, InitializeFunction },
{ EventIncrement, IncrementFunction },
{ EventNOP, NothingFunction }, // Empty function is used here.
};
在这个示例表中,我可以将NULL
替换为NothingFunction
,并在调用它之前检查. proc
是否为NULL
。但我认为在表中放置什么都不做的函数会使代码更简单。
对相当多的事情需要一个函数来通知发生的特定事情(回调)。一个什么都不做的函数是表示“我不在乎这个”的好方法
我不知道标准库中有任何示例,但许多构建在上面的库都有用于事件的函数指针。
例如,glib定义了一个回调“GLib. LogFunc(log_domain、log_level、消息、*user_data)”用于提供记录器。空函数将是您在禁用日志记录时提供的回调。
这样的函数作为回调函数可能是必要的。
假设您有一个如下所示的函数:
void do_something(int param1, char *param2, void (*callback)(void))
{
// do something with param1 and param2
callback();
}
此函数接收指向它随后调用的函数的指针。如果您不特别需要将此回调用于任何事情,您将传递一个什么都不做的函数:
do_something(3, "test", Nothing);
这是我的第一个JMH基准测试。我可能做错了一切,但是... 我的基准看起来是这样的 是我开始的...等了又等,然后杀了它。我怀疑在< code>@Setup中有问题,所以我简化了它,但是什么都没有改变。这场赛跑开始时相当乐观... 然后什么都没发生。过了很长时间,它继续写下20行像 和5行像 然后它输出一些结果 并更正其估计的eta: 我的是否比我想象的更频繁地被调用,或者还有什么其他原因导致了缓
问题内容: 什么是真正做? 它的定义是 刷新实体时,此字段中保存的所有实体也会刷新 但这实际上意味着什么?有人可以给我一个简单的例子吗? 问题答案: 单独的CascadeType描述可能会有些混乱,但是有一种简单的方法可以从一般情况中找出来。 对于任何值,这意味着如果使用接口在实例上调用了操作,并且该实例具有对其他实体实例的引用,并且已经定义了关联,则该操作也将应用于该关联实体。 因此定义为: 从
在Java中,什么与Python的pass等效?我意识到我可以使用continue语句或不完成语句体来实现这种效果,但我喜欢使用pass语句。
我的配置文件是类路径的路径。至少我认为是这样。我放置了log4j。资源文件夹中的属性文件,而log4j对此不做任何处理。即使我删除了它,也不会发生错误。 任何人都可以看到,我在使用maven LoggerTest的内容: 程序输出: log4j的内容。属性: 在波姆。xml并不是什么不同寻常的东西,只是一个依赖组织。阿帕奇。登录中。log4j log4j内核2.17.2,编译器源目标是16,没有插
问题内容: ECMAScript 6中引入的数据结构的实际用途是什么? 由于弱映射的键会对其对应的值建立强引用,因此确保只要弱键仍处于活动状态,插入到弱映射中的值就 永远不会 消失,因此不能将其用于备忘录表,缓存或通常使用弱引用,具有弱值的映射等的其他任何内容。 在我看来,这是: …只是一种回旋的说法: 我缺少哪些具体用例? 问题答案: 从根本上 WeakMaps提供了一种从外部扩展对象而不干扰垃
ECMAScript 6中引入的数据结构的实际用途是什么? 由于弱映射的键创建对其对应值的强引用,确保插入到弱映射中的值在其键仍处于活动状态时永远不会消失,因此它不能用于备注表、缓存或您通常使用弱引用、具有弱值的映射等的任何其他内容。 在我看来: …只是一种迂回的说法: 我缺少哪些具体的用例?