malloc的不常见使用
uncommon use of malloc
我遇到了这个(短)代码,我不确定它到底做了什么;
int amount = 5
int totalAllocatedMemory = 0;
totalAllocatedMemory += amount, malloc(amount);
看来"malloc"在这里没有任何作用!
感谢
它确实有一个效果,因为它分配内存。然而,代码看起来确实很奇怪,内存也确实泄露了。
如果您想知道语法和确切的语义,请参阅Comma Operator如何工作
It:
- 分配5个再见
- 将5添加到
totalAllocatedMemroy
(打字错误?) - 内存泄漏
代码看起来有缺陷,但它的作用是:
- 将金额添加到AllocatedMemory总量
- 分配5个字节并丢弃结果(这将是所分配内存的地址,因此,正如其他人所说,这将导致内存泄漏)
这是因为逗号在C.中的所有运算符中具有最低的优先级
相关文章:
- Printf 命令不打印时添加了查找常见除数的新代码
- Malloc void return char 数组有时不起作用(Terry Davis 对 C++);
- 在 C++ 的自定义运算符中删除与删除[](不同于常见的删除与删除[]问题)
- 瓦尔格林德错误 - 地址0x0不是堆叠的 malloc'd 或自由的
- 如果普通默认构造函数不执行任何操作,为什么我们不能使用 malloc 创建平凡可构造的对象?
- 如果我使用malloc()而不是堆栈数组,OpenGL不会渲染对象
- 从安卓NDK15切换到17使得malloc和朋友找不到
- 如何使用 "new" 而不是 malloc 分配内存?
- Cppcheck 静态代码分析器实际上可以检测到不太常见的警告(如 "Relative Path Traversal (CWE-23)" 或"Buffer Under-read(CWE-127)")吗
- 联合查找算法(查找周期),不使用 malloc
- 使用 new 而不是 malloc 分配 mem
- 我的C++代码出了什么问题?最不常见的祖先
- C++中一个模板函数中使用的类的不常见函数
- 如何在代码中使用"new"而不是"malloc"
- 查找整数C++中最不常见的数字
- 删除在两个字符串的比较中不常见的字符
- 为什么在调用 localtime() 函数之前不需要 malloc 结构 tm 指针?
- malloc的不常见使用
- 如何检测网页中大多数不常见的超链接和隐式重定向
- 如何在不使用malloc或new操作符的情况下分配内存空间