在Google's C++ test framework中,我的眼睛读到:
..立即从当前函数返回,可能会跳过其后的清理代码,这可能导致空间泄漏。
我的大脑希望看到内存泄漏。
在C ++中使用的是该术语吗?如果是这样,那是什么意思(换句话说,它与内存泄漏有何区别)?
在Haskell中,空间泄漏是指程序或特定计算使用的内存比必要的多得多的情况。
在Java中,使用“空间泄漏”一词是没有意义的。
答案 0 :(得分:5)
空间泄漏似乎并不特定于特定语言。 Wikipedia关于space leak的说法是这样的:
当计算机程序使用的内存多于必要时,就会发生空间泄漏。 与从不释放泄漏内存的内存泄漏相反,空间泄漏消耗的内存被释放,但比预期的要晚。
这与您引用的Haskell含义相同。