程序设计中，未定义行为（）是指执行某种计算机代码所产生的结果，这种代码在当前程序状态下的行为在其所使用的中没有规定。常见于对源代码存在某些假设，而执行时这些假设不成立的情况。一些编程语言中，某些情况下存在未定义行为，以C和C++最为着名。在这些语言的标准中，规定某些操作的语义是"未定义的"，典型的例子就是程序错误的情况，比如越界访问数组元素。标准允许语言的具体实现做这样的假设：只要是符合标准的程序代码，就不会出现任何类似的行为。具体到 C/C++ 中，编译器可以选择性地给出相应的诊断信息，但没有对此的强