Computer science 您如何调用一个可以再次调用以重新执行而不是再次执行的函数?

Computer science 您如何调用一个可以再次调用以重新执行而不是再次执行的函数?,computer-science,terminology,Computer Science,Terminology,我在寻找一个术语来表示函数,这些函数不是纯函数,也不一定是可重入的,但是当第二次调用时,它们会创建与第一次调用时相同的状态 例如,此函数不会通过以下条件: void CounterExample(int value) { static int STORE[5]; static int STORE_COUNT=0; STORE[STORE_COUNT++] = value; } 而这一条将: void Example(int value) { static int STORE[

我在寻找一个术语来表示函数,这些函数不是纯函数,也不一定是可重入的,但是当第二次调用时,它们会创建与第一次调用时相同的状态

例如,此函数不会通过以下条件:

void CounterExample(int value)
{
  static int STORE[5];
  static int STORE_COUNT=0;

  STORE[STORE_COUNT++] = value;
}
而这一条将:

void Example(int value)
{
  static int STORE[5];
  static int STORE_COUNT=0;

  STORE_COUNT = 0;
  STORE[STORE_COUNT++] = value;
}
我特别想到的是硬件初始化功能。通常,他们会以某种方式设置GPIO,经历通电顺序,然后以某种方式配置硬件。如果以后我需要重新初始化硬件,我可以再次调用此函数。但是,如果该函数还通过(比如)附加到已配置结构的数组来设置一些软件结构,那么如果不先撤消该函数最初所做的操作,我就无法再次调用该函数

例如,通信驱动程序初始化函数可能会启动通信驱动程序,发送一些配置命令,然后调用另一个名为
AddCommsCallback()
的函数,该函数为通信设备接收的数据注册默认回调。如果我想重置comms驱动程序,我不能简单地再次调用此函数,因为默认回调将附加到现有的过时回调

是否有与这两类函数相关的特定术语(除了通用的优点术语!)?

递归函数(DEF)是一种调用自身或处于函数调用潜在周期的函数。根据定义,递归函数有两种类型。考虑一个调用它自己的函数:我们称之为递归递归。p>
来源:

这是一个幂等函数


请阅读以下富有想象力的名称:“

indemponent functions”,看看:完美!我想这回答了我的问题,除非有任何具体的细节。通过查看用户示例,可以清楚地看出,他并不是在问递归函数