C++学习笔记

1)    UNIX 系统可以通过 echo $? 来查看 main 函数 执行完之后,返回的数字。( Windows 使用 echo %ERRORLEVEL%

2)    定义变量时,应该给变量赋初始值,除非确定将变量用于其他意图之前会覆盖这个初始值,如果不能保证读取变量之前重置变量,就应该初始化变量。

3)    标准库的头文件用尖括号 <> 括起来,非标准库的头文件用双引号 ”” 括起来。

4)    32 位或者 4 个字节作为一个“字”( word )。

5)    Unsigned int 类型可以简写为 unsigned

6)    -1 256 求模的结果是: 255 float 6 位有效数字, double 10 位有效数字, long double 10 位有效数字。

7)    在字符字面值前加 L 就能够得到 wchar_t 类型的宽字符字面值: ’a’ L’a’

8)    Std::cout<<”test 

           “time”<<std::endl;     输出为 ”test  time” ,不换行。

Cout 最后需要用 endl 输出一个换行符并刷新输出缓冲区, cin 不需要写 endl

9)    在一行的末尾加一个反斜线符号可将此行和下一行当做同一行来处理,注意反斜线符号必须是该行的尾字符——不允许在其后面有注释或空格。

10) C++ 是一门静态类型语言,在编译时会做类型检查。 C++ 大小写敏感。

11) int   ival(1024)   int   ival = 1024 是等价的。

12) 内置类型变量的初始化:在函数体外定义的变量都初始化成 0 ,在函数体内定义的内置类型变量不进行自动初始化。 P45

13) 变量的定义:用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量    有且仅有一个定义。

声明:用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。

没有 extern 的都是定义。有 extern 但是没有初始化的就是声明。

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

15) 在全局作用于生命的 const 变量是定义该对象的文件的局部变量。此变量只存在于那个文件中,不能被其他文件访问。通过指定 const 变量为 extern ,就可以在整个程序中访问 const 对象。( extern const int bufsize = 100 ;)非 const 变量默认为 extern 。要使 const 变量能够在其他的文件中访问,必须显示地指定它为 extern

16) 引用是一种复合类型,通过在变量名前添加“ & ”符号来定义。复合类型是指用其他类型定义的类型。(例: int ival = 1024; int &refVal = ival; 引用定义的同时 , 必须初始化。 int &refVal2; 错误)当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象 P51

const 引用只能绑定到与该引用同类型的对象。 Const 引用则可以绑定到不同但相关的类型的对象或绑定到右值 P52

17) 枚举类型只能通过其枚举成员或者同一枚举类型的其他对象来进行,不能用整型数字 赋值。 P54

18) 定义变量和定义数据成员存在非常重要的区别:一般不能把类成员的初始化作为其定义的一部分。当定义数据成员时,只能指定该数据成员的名字和类型。类不是在类定义里定义数据成员时初始化数据成员,而是称为构造函数的特殊成员函数控制初始化。 C++ 支持另外一个关键字 struct ,它也可以定义类类型。如果使用 class 关键字来定义类,那么定义在第一个访问标号前的任何成员都隐式指定为 private ,如果使用 struct 关键字,那么这些成员都是 public 的。使用 class 还是 struct 关键字,仅仅影响默认的初始访问级别。

19) 头文件一般包含类的定义, extern 变量的生命和函数的声明。 P58  

头文件用于声明而不是用于定义。头文件中不应该含有全局 变量或函数的定义。 头文件不能含有定义这一规则,有三个例外:头文件可以定义类、值在编译时就已知道的 const 对象和 inline 函数。这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。

20) String 支持长度可变的字符串, vector 可用于保存一组指定类型的对象。 Bitset 类可以把某个值当做位的集合来处理。

21) String s;cin>>s;cot<<s<<endl; 读取并忽略开头所有的空白字符(如空格,换行符,制表符。)读取字符直至再次遇到空白字符,读取终止。

22) 任何存储 string size 操作结果的变量必须为 string::size_type 类型。特别重要的是,不要把 size 的返回值给一个 int 变量。

23) 在大多数计算机上,大写字母位于小写字母之前:任何一个大写字母都小于任意的小写字母。 String 对象的比较操作是区分大小写的。 == 操作符比较 2 string 对象,是指他们的长度相同,且含有相同的字符。

24) P75    对于 + 运算符: string 和字符串字面值的链接。

25) String 对象中字符的处理,这些函数都定义在 cctype 头文件中,函数直接调用。 P77

你可能感兴趣的:(C++)