關於C儲存,取得,釋放lua的引用

2021-05-28 04:36:43 字數 881 閱讀 4594

c:

#include "windows.h"     

#include extern "c"

#pragma comment(lib,"lua5.1.lib")

lua_state * l;

static int getref(lua_state *l) //取引用

return 1;

} static int setref(lua_state *l) //設定引用

lua_pop(l, -1); //清棧

//壓入引數

lua_pushnumber(l, (lua_number)ref);

return 1;

} static int delref(lua_state *l) //刪引用

static const lual_reg lengine = ,

, ,

,

};

int main()

lua:

local a = 

local ref = lengine.setref(a)

local b = lengine.getref(ref)

print(a == b and "true\n" or "false\n")

lengine.delref(ref)

local b = lengine.getref(ref)

print(a == b and "true\n" or "false\n")

關於C 的引用

c 的實現是建立在c的基礎上的,c 是c的超集,也就是c的補充以及擴充套件 所以叫c 也可以理解為c 是裝了裝備的c。c 的引用其實就是c的指標的變形,兩者可以相互替代。下面先貼一段c 的 include using namespace std void fgd int e intmain 輸出結果...

C 關於指標釋放的概念

下面是自己總結的一些關於new建立類物件特點 ctest ptest new ctest delete ptest ptest用來接收類物件指標。不用new,直接使用類定義申明 ctest mtest 此種建立方式,使用完後不需要手動釋放,該類析構函式會自動執行。而new申請的物件,則只有呼叫到de...

關於C 中的引用

關於c 中的引用,它其實不是定義乙個新變數,而是給已經存在的變數取了乙個別名,這樣編譯器也就不會為變數開闢記憶體空間,它和它引用的變數共用同一塊記憶體空間.來看例子 include using namespace std int main 引用是給乙個變數起別名,兩個名字都是乙個變數,所以不論操作哪...