如果realloc失败并且返回NULL,那么前者缓冲区是免费的还是保持原样?我没有在手册页中找到特定的信息,我很不确定该怎么做.如果释放内存,则双重释放可能存在风险.如果不是,则会发生泄漏.
也许我完全错了但是我遇到了lambda调用@classmethod的一些奇怪问题.
我有以下课程:
class MyClass:
LAMBDA = lambda: MyClass.ClassMethod()
@classmethod
def ClassMethod(cls):
pass
Run Code Online (Sandbox Code Playgroud)
但是每当调用LAMBDA时,这都会失败:
TypeError: unbound method <lambda>() must be called with MyClass instance as first argument (got nothing instead)
Run Code Online (Sandbox Code Playgroud)
我真的不明白为什么会这样.我已经花了一些时间试图让它工作.我需要一些由该lambda填充的类属性,并且在该阶段显然不可能自引用该类.