C++ Primer 笔记1

来源:互联网 发布:刘家昌华纳知乎 编辑:程序博客网 时间:2024/05/29 17:46
1、标准库定义了4个IO对象:cin, cout, cerr, clog。
2、读入未知数目的输入:while(cin>>value)...
3、windows系统中使用Ctrl + Z来输入文件结束符。
4、C++是静态类型语言,在编译时执行类型检查,所以在程序中使用某个名字之前,必须先告诉编译器该名字的类型。
5、表示整数、字符和布尔值的算术类型合称为整型。
6、字符类型有两种:char 和 wchar_t。
7、float类型只能保证6位有效数字,而double型至少可以保证10位有效数字。
8、在字符字面值前加L就能够得到wchar_t类型的宽字符字面值。如wchar_t c = L'A';
9、字符串字面值常量用双引号括起来的零个或者多个字符表示。不可打印字符表示成相应的转义字符。例   如:"Hello World!"。 为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。例如"A"表示包含字母A和空字符两个字符的字符串。
10、两个相邻的仅由空格、制表符或换行符分开的字符串字面值,可连接成一个新字符串字面值。
11、多行字面值:在一行的末尾加一反斜线符号可将此行和下一行当作同一行处理。
12、变量名,即变量的标示符,可以由字母、数字和下划线组成。 C++中得标示符都是大小写敏感的。
13、初始化指创建变量并给它赋初始值,而赋值则是擦出对象的当前值并用新值代替。
14、内置类型变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都初始化为0,在函数体内定义的内置类型变量不进行自动初始化。
15、变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern。extern声明不是定义,也不分配存储空间。事实上,它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。
16、只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配存储空间。初始化式必须要有存储空间来进行初始化。如果声明有初始化式,那么它可被当作是定义,即使声明为extern:extern int i = 5;
虽然使用了extern,但是这条语句还是定义了i,分配并初始化了存储空间。只有当extern声明位于函数外部时,才可以含有初始化式。
17、全局作用域, 局部作用域, 语句作用域, 类作用域, 命名空间作用域
18、引用: 引用是一种复合类型,复合类型是指用其他类型定义的类型。在引用的情况下,每一种引用类型都“关联到”某一其他类型。不能定义引用类型的引用,但可以定义其他任何其他类型的引用。
19、定义和初始化枚举  enum open_modes{input, output,append};默认地,第一个枚举成员赋值为0,后面的每个枚举成员赋的值比前面的大1。 
可以为一个或多个枚举成员提供初始值,用来初始化枚举成员的值必须是一个常量表达式。
枚举成员值可以是不唯一的。
//point2d is 2, point2w is 3, point3d is 3, point3w is 4
enum Points{point2d = 2, point2w, point3d = 3, point3w};
20、用class和struct关键字定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为public,而class的成员为private。
原创粉丝点击