使用未分配的内存会导致未定义的行为。即使在同一系统和编译器上执行此操作,也无法期望会发生什么,更不用说跨硬件和编译器的不同组合了。
该程序可能会立即崩溃,可能会工作一段时间,然后稍后失败,甚至可能会正常运行。
但是,访问您不拥有的内存总是一个编程错误。不要将正确操作的外观视为“有时会起作用”,而应将其视为“我真的很不幸,并且我的错误没有很快显示出来”。

使用未分配的内存会导致未定义的行为。即使在同一系统和编译器上执行此操作,也无法期望会发生什么,更不用说跨硬件和编译器的不同组合了。
该程序可能会立即崩溃,可能会工作一段时间,然后稍后失败,甚至可能会正常运行。
但是,访问您不拥有的内存总是一个编程错误。不要将正确操作的外观视为“有时会起作用”,而应将其视为“我真的很不幸,并且我的错误没有很快显示出来”。