日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

临时变量管理器

發(fā)布時(shí)間:2025/3/19 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 临时变量管理器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問(wèn)題

有些變量,它們?cè)谔囟ǖ那闆r下才有意義。有些功能需要多步才能完成,結(jié)果就需要一些中間變量保存過(guò)程的狀態(tài),過(guò)程結(jié)束后變量就失去存在的價(jià)值。缺點(diǎn):

  • 浪費(fèi)存儲(chǔ)空間,雖然內(nèi)存很廉價(jià),但還是能省則省
  • 中間變量變多的時(shí)候,所在類越來(lái)越大,越來(lái)越難以理解

解決方案

封裝一個(gè)中間變量管理器:支持創(chuàng)建、刪除、取值、設(shè)值這幾個(gè)操作就行。

臨時(shí)變量定義:

class Player { public:enum TempVariableType{kTempInvalid,kTempTest,kTempJumpVerification,};TempVariableManager<Player> tmpvars; }; struct JumpVerification {JumpVerification(DWORD x_=0, DWORD y_=0, DWORD mapid_=0) :x(x_), y(y_), mapid(mapid_) {}DWORD x;DWORD y;DWORD mapid; };// 中間變量的定義 define_tempvariable(Player, kTempTest, DWORD); define_tempvariable(Player, kTempJumpVerification, JumpVerification);

臨時(shí)變量的使用:

// 新創(chuàng)建 pUser->tmpvars.create<SceneUser::kTempTest>(20); pUser->tmpvars.create<SceneUser::kTempJumpVerification>(JumpVerification(10,10,101));// 刪除 pUser->tmpvars.release(SceneUser::kTempTest); pUser->tmpvars.release(SceneUser::kTempJumpVerification);// 取值 pUser->tmpvars.get<SceneUser::kTempTest>(); pUser->tmpvars.get<SceneUser::kTempJumpVerification>().x pUser->tmpvars.get<SceneUser::kTempJumpVerification>().yJumpVerification& jv = pUser->tmpvars.get<SceneUser::kTempJumpVerification>(); jv.x; jv.y;// 設(shè)值 pUser->tmpvars.get<SceneUser::kTempTest>() = 100; pUser->tmpvars.get<SceneUser::kTempJumpVerification>().x = 100; JumpVerification& jv = pUser->tmpvars.get<SceneUser::kTempJumpVerification>(); jv.x = 100; jv.y = 100; 2012/05/08 21:00 于上海

轉(zhuǎn)載于:https://www.cnblogs.com/mywolrd/archive/2012/05/08/2490686.html

總結(jié)

以上是生活随笔為你收集整理的临时变量管理器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。