C ++程序员应该知道哪些常见的未定义行为?