bind

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· 代码 · 共 35 行

TXT
35
字号
     bbbbiiiinnnndddd((((3333))))                MMMMuuuuddddOOOOSSSS ((((22222222 JJJJaaaannnn 1111999999995555))))                bbbbiiiinnnndddd((((3333))))     NNNNAAAAMMMMEEEE          bind() - change the owner of a function pointer     SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS          function bind(function f, object ob)     DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN          Returns a function pointer that is exactly the same as f,          but belongs to the object 'ob' instead of the object that          created f.  Useful if the creator of 'f' has been          destructed, or f is an efun pointer to an efun which does          something to 'this_object'.          For example:          void make_living(object ob) {             function f;             f = bind( (: enable_commands :), ob );             evaluate(f); }          The effect of the above is the same as if 'ob' itself had          evaluated the enable_commands() efun.  Note that there are          security risks involved in this, as bind() allows you to          force another object to run a piece of code.  To protect          against this, there is a valid_bind() master apply which          must return 1 or the call to bind() will fail.     Page 1                                          (printed 3/16/95)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?