现在的位置: 首页 > 综合 > 正文

C++Primier笔记第一部分 基础

2013年06月25日 ⁄ 综合 ⁄ 共 2940字 ⁄ 字号 评论关闭

1.main函数的返回值是一个状态指示器。返回值0往往表示main 函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。通常非零返回值表明有错误出现。

2.程序文件称作源文件。

3.当操作符是输出操作符时,结果是做操作数的值。当操作符是输入操作符时,其结果也是左操作数的值。也就是说输入输出流操作返回的值是输入输出流本身。

4.endl是一个特殊值,称为操作符,将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。忘记刷新输出流可能会造成输出停留在缓冲区中,如果程序崩溃会导致程序错误推断崩溃位置。

5.使用命名空间程序员可以避免与苦衷定义的名字相同而引起无意的冲突。

6.在写C++程序时,大部分出现空格符的地方可用换行符代替。这条规则的一个例外是字符串字面值中的空格符不能用换行符代替。另外空格符不允许出现在预处理指示中。

7.注释一般放在所有解释代码的上方;块注释对不可嵌套

8.当使用istream对象作为条件,结果是测试流的状态。如果流是有效的,那么测试成功。遇到文件结束符或者无效输入时,则istream对象是无效的,处于无效状态的istream对象将导致条件失败。

9.windows系统下我们通过键入control+z来输入文件结束符。在unix系统中或者mac-x机器通常是control+d

10.使用类时需要回答三个问题:类的名字,类的定义,支持的操作。

11.标准库的头文件用尖括号<>括起来,非标准库的头文件用双引号“"括起来。

12.成员函数是由类定义的函数,有时成为类方法。

13. C++ 语言定义了几种基本类型:字符型、整型、浮点型

14.表示整数、字符和布尔值的算数类型合称为整型

15.int 是一个机器字长

16.bool类型表示真值true和false。可以将算术类型的任何值赋给bool对象。0值代表false,任何非0 的值都代表true。

17.整型int,short,long都默认为带符号型。unsigned默认为unsigned 默认为unsigned int

18.c++中把负数赋给unsigned对象时完全合法的,其结果是该负数对该类型的取值个数求模后的值。

19.float型只能保证6位有效数字,而double型至少可以保证10位有效数字。

20.在字符或者字符串之前加上L就可以得到宽字符类型

21.宽字符串字面值是一串常量宽字符,同样以一个宽空字符结束。

22.处理长字符串you一个更基本的方法:在一行的末尾加一反斜线符号可将此行和下一行当做同一行处理。但是反斜线符号必须是该行的尾字符-不允许有注释或空格符。

23.c++中的标识符不能包含两个连续的下划线,也不能在以吓坏西安开头后面紧跟一个大写字母。有些标识符(在函数外定义的标识符)不能以下划线开头。

24.变量命名习惯:变量名一般用小写字母;标识符樱能帮助记忆;包含多个词的标识符书写为在每个词之间添加一个下划线,或者每个内嵌的词的第一个字母都大写。

25.C++支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号=,直接初始化则是把初始化放在括号中。

26.定义如何进行初始化的成员函数称为构造函数。

27.you多个初始化时不能使用复制初始化。-- - 这里一直没有想明白。

28.在函数体外定义的变量都初始化为0,在函数体内定义的内置类型变量不进行自动初始化。除了用作赋值操作符的左操作数,为初始化变量用作任何其他用途都是没有定义的。

29. 变量的定义用于为变量分配存储空间,还可以为变量制定初始值。声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对香茗、对象类型和对象类型前的关键字extern。

30.只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配存储空间。初始化式必须要有存储空间来进行初始化。如果声明有初始化式,那么它可被当做是定义,即使声明标记为extern。只有当extern声明位于函数外部时,才可以含有初始化式。

31.在C++中,变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量。

32.因为常量在定以后就不能被修改,所以定义时必须初始化。

33.在全局作用于声明的const变量时定义该文件对象的局部变量。此文件只存在于那个文件中,不能被其他文件访问。将const对象指定为extern就可以被其他文件访问了。

34.引用是一种复合类型,通过在变量名前添加&符号来定义。复合类型是指其他类型定义的类型。在引用的情况下,每一种引用类型double关联到某一其他类型。不能呢过定义引用类型的引用,但可以定义任何其他类型的引用。引用必须用与该引用同类型的对象初始化。

35.当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。引用必须在定义时进行初始化。

36.const引用是指向const对象的引用。

37.const引用可以初始化为不同类型的对象或者初始化为右值(如字面值常量)。同样的初始化对非const变量是不合法的。非const引用只能绑定到与该引用同类型的对象。const引用则可以绑定到不同但相关的类型的对象或绑定要右值。

38.枚举类型的定义包括关键字enum,其后是一个可选的枚举类型名,和一个用花括号括起来,用逗号分开的枚举成员列表。默认的。第一个枚举成员赋值为0,后面的每个枚举成员赋的值比前面的大1.

39.可以为一个或多个枚举成员提供初始值,用来初始化美剧成员的值必须是一个常量表达式。

40.类定义以关键字class开始,气候室该类的名字标识符。类体位于花括号里面。花括号后面必须要跟一个分号。

41.定义变量和定义数据成员存在非常重要的区别:一般不能把类成员的初始化作为其定义的一部分。当定义数据成员时,只能指定该数据成员的名字和类型。类不是在类定义里定义数据成员时初始化数据成员,而是通过成为构造函数的特殊成员控制初始化。

42.如果使用class关键字来定义类,name定义在第一个访问标号前的任何成员都隐式指定为private;如果使用struct关键字,那么这些成员都是public。

43.对于头文件不应该含有定义这一规则,有三个例外。头文件可以定义类,值在编译时就已知道的const对象和inline函数。

44.如果头文件在尖括号里面,那么认为该头文件是标准头文件。编译器将会在预定义的位置集查找该头文件,这些预定义的位置可以通过设置查找路径环境变量或者通过命令行选项来修改。使用查找方法因编译器的不同而差别迥异。如果头文件在引号里,那么认为它是非系统头文件,非系统头文件的查找通常开始于源文件所在的路径。

45.string类型的输入操作符:读取并忽略开头所有空白字符(如空格、换行符、制表符);读取字符直至再次遇到空白字符,读取终止。

46.和内置类型的输入操作一样,string的输入操作符也会返回所读的数据流。因此,可以把输入操作作为判断条件。

47.当进行string对象和字符串字面值混合连接操作时,+操作符的左右操作数必须至少有一个是string类型的。

抱歉!评论已关闭.