面对八百多页的C++圣经《C++primer》我陷入了沉思。最近终于下定决心把它啃下来,现在打算记录每章的关键点,一是为了巩固知识,二是以后要复习什么的也不用再碰那本砖头。
1.1编写一个简单的C++程序
书中给了几行代码:
int main()
{
return 0;
}
main函数为一个C++程序必须拥有的函数,操作系统通过调用main函数运行C++程序,所以main函数的返回值是返回给操作系统的,在大多数系统中main的返回值被用来指出错误类型,返回值为0表示成功,非0则表示程序错误.
以前只知道main函数return 0就对了,现在才知道main的返回值也是有意义的.
1.1.1编译、运行程序
小节没什么重难点,值得一提的是编译C的程序用的命令是gcc,而C++程序用的命令是g++。
1.2初识输入输出
iostream标准库包含两个基本类型——istream(输入流)、ostream(输出流)。
使用名为cin的istream类型的对象处理输入,cin被称为标准输入。
输出对象有三个:cout(标准输出)、cerr(标准错误)、clog。最常用的是cout标准输出(因为我没用过另外两个)
用VS简单试了一下其他两个,发现并没有什么差别(看起来是这样吧?)。
endl是一个被称为操纵符的特殊值,endl有两种作用,第一种就是换行,单单cout<<endl可以达到输出一个空行即换行的作用.第二种是刷新缓冲区.如果没有endl,那么用cout输出的内容都是会停留在缓冲区的,而不是输出在小黑屏,可以自己试一下,cout输出内容但是结尾不是endl,然后卡一个死循环不结束程序,然后就会发现停在缓冲区的内容是看不到的.
我上面的代码中,完整写法应该是在cout,endl,cerr,clog前面加上std::,用处是指明命名空间,意思就是我用的cout,是std下的cout.如此写法是为了避免命名重复导致的冲突.
不过我们平时写的基本上不会有这种烦恼(除非是写什么大项目),可以使用using namespace std,这样可以不用写std::,少写一点代码偷点懒.
1.3注释简介
注释和C语言一样,多行注释不能嵌套.因调试而注释的代码建议用单行注释掉每一行.
//单行注释
/*
*多行
*注释
*/
1.4控制流
小节里介绍了while,for,if,因为和C语言一样并且没有什么值得特别注意的,这里就省略掉这一节.
1.5类介绍
小节并没有详细介绍类,反而更多介绍了头文件.
来自标准库的头文件,用<>尖括号来包含,并且标准库的头文件没有后缀.
不属于标准库的头文件,即普通程序员所写的头文件,则用""双引号来包含,并且后缀一般用.h,但也有.H,.hpp,.hxx之类的后缀(我没见过).
访问类的成员函数或者成员变量时,用点运算符(.)即一个点来访问,以前只知道点一下然后获取,没想到一个点居然有专门的名字.调用函数时用调用运算符(())即括号,里面可以放参数.调用函数的括号也有自己的名字.
小结:
C++primer第一章就二十页,内容比较少,个人感觉内容不是很连贯,感觉就像是给刚学完C语言的人前情回顾一下.所以不是很建议零基础的看C++primer,建议先学完C语言,甚至是已经学了一点C++的人看.