目录

《深入理解C&C++》读书笔记

目录

本书以面试两个候选人的形式,对C&C++深层知识展开讨论,颇为新颖。

  • C99和C++98标准中,程序退出码(exit value)用于表示程序是否成功执行,更早的ANSI C和K&R标准,退出码没有任何意义
  • C标准中void表示函数没有任何参数,比如int main(void)表示main函数无参数,而int main()表示main函数可以接收任意多个参数
  • C标准规定源文件以空行结束
  • C标准规定static变量初始化为0,auto变量不进行初始化;目的是确保运行效率,static变量位于全局存储区,初始化操作仅在程序启动时执行一次memset操作
  • C++稍有不同,static变量初始化为其类型默认值,而非直接设置为0,当然内置类型的默认值是0
  • 序列点是程序执行序列中的一个点,其前的副作用已经发生,其后的副作用尚未发生,两点之间一个对象的值通过执行语句至多能修改一次(a = a++产生未定义的值),并且先前的值是只读的(a + a++产生未定义的值)

(未完待续)