"地址"搜索结果 1 条

为什么我的编译器不阻止我向0地址写入?

注意啊,给一些同学打预防针,nullptr 已经进 C 标准了(C23)。(另外,这又是 C 和 C++ 不同的一点,nullptr_t 到 bool 的转换(nullptr 会转为 false)在 C 中被认为是隐式转换,而在 C++ 不认为是隐式转换。) 根据 C 标准,malloc 不成功时会返回 nullptr。Dereferencing a nullptr 当然是非法的。这题假设循环中不断分配内存而不释放,最后系统资源不足导致 malloc 返回 nullptr。 但现实情况是,系统会用虚拟内存,而你的…