c++概念性知识点之初始化,声明和定义

来源:互联网 发布:php类与对象person 编辑:程序博客网 时间:2024/06/10 20:20

1.初始化
1). c++支持两种初始化变量的形式:复制初始化直接初始化。复制初始化语法用等号,直接初始化则是把初始化式放在括号中:
  int a(1024); // direct-initialization
  int a = 1024; // copy-initialization
2). 初始化不是赋值,初始化指创建变量并为其赋初始值,而赋值则是擦出当前值用新值代替。
3). 需要注意的关于初始化的知识:
  int a = 10,b=a-1; // ok
  int a = b = 2; // error,不同变量的初始化应该分别进行
  int a = a; // 语法没错误,但无实际意义,a仍是未初始化的

4). 定义在函数体外的内置类型变量都初始化成0,定义在函数体内的内置类型变量不进行自动初始化。
2.声明和定义
1).声明(declaration):用于向程序表明变量的类型和名字。
2).定义(definition):用于为变量分配存储空间,还可以为变量指定初始值。定义也是声明
3). 需要注意的关于声明和初始化的知识:
  int i; // delares and defines i
  extern int i; // declares but does not define it
  extern int a = 2; // definition,但该语句只能出现在函数体外部
只有当extern声明位于函数外部时,才可以含有初始化式。

参考文献
[1]《c++ prime 中文版》第四版

0 0