标签归档:C++

深入理解 C/C++(Olve Maudal & Jon Jagger)笔记

  1. main无显式返回时,程序返回值为最后的函数调用的返回值。
  2. 对于函数定义void func(),C语言表示func接受任意数目、任意类型的参数;C++语言表示不接受参数,相当于void func(void)。若C语言希望函数不接受参数,需要显示声明为void func(void)
  3. 对于全局&局部static变量,在C语言中初始化为0;在C++中初始化为它的默认值(内置类型为0)。对于auto变量,不进行初始化(对函数内的auto变量进行初始化影响性能?),但deubg(非优化)时可能会被初始化为0;当连续多次对包含auto变量的函数进行调用时,变量可能每次分配到相同内存(Execution Stack or Activation Frames)。
  4. 函数外部非static变量自动初始化为0,且全局可见(链接器允许其它对象文件访问该变量);函数外部static变量自动初始化0,仅本编译单元可见。
  5. C/C++在一个序列点(Sequence Point)对一个变量只能更新一次,a =