物件建立者

物件建立作業會建立物件並呼叫其起始設定元。其名稱格式為 <object>_Create()

建立者會配置物件的記憶體、呼叫物件的起始設定元及將指標傳回所建立的物件。

例如,針對物件 A 產生下列建立者:

A * A_Create() {
   A* me = (A *) malloc(sizeof(A));
   if(me!=NULL)
      {
         A_Init(me);
      }
   return me;
}

若是回應物件,指向作業的指標會新增至建立者的引數清單(結尾)。此指標會告知回應物件其執行中的執行緒。例如:

A * A_Create(RiCTask * p_task) {
   A* me = (A *) malloc(sizeof(A));
   if(me!=NULL)
      {
         A_Init(me, p_task);
      }
   DYNAMICALLY_ALLOCATED(me);
   return me;
}

因為在 C 中無法指定引數預設值,您可以傳遞作業的 NULL 值以引起實例在主要作業中執行。

C_CG::Class::AllocateMemory 內容及 C_CG::Event::AllocateMemory 內容會指定產生的字串,用來為物件或事件動態配置記憶體。此字串會用於 Create() 作業中。此內容的預設值是:

($cname*) malloc(sizeof($cname));

在產生的程式碼中,$cname 關鍵字會取代為記憶體所配置的物件或事件名稱。

動態記憶體配置

您可以呼叫物件的建立者函數來動態建立物件。例如:

B *new_B;
new_B = B_create();

您可以呼叫物件的刪除函數來動態刪除物件。例如:

B_Destroy(new_B);

意見回饋