1.1 编写简单的C++程序(p2)
main函数,返回0值表明程序成功执行完毕。
大多数系统中,main函数的返回值是一个状态指示器。返回值0往往表示main函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。通常非零返回值表明有错误出现。
1.2.1 标准输入与输出对象(p5)
ostream中除了cin和cout外,还有cerr和clog。cerr对象又叫做标准错误,通常用来输出警告和错误信息给程序的使用者。而clog对象用于产生程序执行的一般信息。
(p6)endl是一个特殊值,成为操纵符,将它写入输入流时,具有输出换行的效果,并刷新与设备相关的缓冲区。通过刷新缓冲区,用户可以立即看到写入到流中的输出。(与java的out.flash()功能差不多)。程序员经常在调试过程中插入输出语句,这些语句都应该刷新输出流。忘记刷新输出流可能会造成输出停留在缓冲区,如果程序崩溃,将会导致对程序崩溃位置的错误判断。
char a[] = "hello";a[5]是'\0'
1.4.4 读入未知数目的输入(p16)
while(cin>>i);当我们使用istream对象作为条件,结果是测试流的状态。如果流是有效的,那么测试成功。遇到文件结束符(windows下可以ctrl+z来输入文件结束符,Unix是ctrl+d)或遇到无效输入时,如读取了一个不是对应类型的数,则istream对象是无效的。处于无效状态的istream对象将导致条件失败。
1.5 类的简介
(p18)标准库的头文件用尖括号<>括起来,非标准库的头文件用双引号””括起来。
第二章
(P31)unsignedint类型可以简写为unsigned。
(p32)char有三种不同的类型:普通char、unsigned char和signed char。虽然char有三种不同类型,但只有两种表示方式。可以使用unsigned char或signed char表示char类型,具体由编译器定。
C++中,把负值赋给unsigned对象完全是合法的,其结果是该负数对该类型的取值个数求模后的值。如:
unsigned char a = -256;
cout<<(int)a<<endl;输出0,即-256mod256
(P39)C++是一门静态类型语言(不太懂意思),在编译时会做类型检查。