第一章:C++起航
一、要点总结
1.1.程序执行返回状态
在linux下,命令: echo $?
在window下,命令: echo %ERRORLEVEL%
1.2 /* */注释的注意事项
/*
*1 每行以*开头,标识整个范围是多行注释,增加阅读性
*/
2 避免/**/的嵌套,如cout << /* "*/" */;(报错)
1.3 cin、cout、cerr、clog用途
3.1 cin:标准(从屏幕)输入--->有缓冲
3.2 cout:标准输出(到屏幕)--->有缓冲
3.3 cerr:输出警告、错误信息(到屏幕)--->无缓冲,直接输出到屏幕
3.4 clog:输出程序执行的一般信息(像日志记录)(到屏幕)-->有缓冲
一般情况下,系统将这些对象与执行窗口联系起来,这样,当我们从cin读入时,数据从执行程序的窗口读入,当写到cout、cerr、clog时,输出写至同一窗口
补充一点:默认情况下,读cin会刷新cout
cout缓冲区可强制刷新(如endl)、程序结束时也会刷新cout
1.4 C++的类类型设计思想(目的)
设计思想:像内建类型(build-in type)一样自然使用
1.5 编译器会检测的错误
语法错误
类型错误
声明错误
排错建议:按顺序纠错(因为错误具有级联效应),或先解决明显的错误
二、几点思考
2.1 调试输出为什么要endl?或’/n’
endl:换行并刷新缓冲区(实际使用了fflush())
/n:换行但并不刷新缓冲区
使用建议:
1.考虑效率时,使用\n,但注意因没有刷新缓冲区,不能确保输出数据的一致性
2 使用打印语句调试程序时,使用endl,但注意不要过多使用,因为
频繁调用fflush降低程序执行效率
2.2 文件后缀(.cpp/.h/.c等)有什么用?
1.编译器并不在意文件后缀,因为文件格式并不因为后缀名不同而改变
比如,以可执行目标文件为例,Linux中是ELF格式,而window中是PE格式
2.文件后缀旨在更人性化区分、管理文件
3.文件后缀有助于IDE(集成开发环境)检查(根据后缀名
确定打开方式,由此检查文件格式与打开程序是否匹配),
故,添加文件后缀可增加可移植性
总结来说,不用在意文件后缀,只要清楚什么文件格式需要对应什么程序打开即可。当然,
添加对应的后缀名,有助于识别、理解文件的打开方式。在window下,会根据后缀名寻找打开方式。
三、编程习惯建议
3.1 GNU编译器使用-Wall 或 微软编译器的 /W4 检查程序
3.2 代码修改后,记得更新注释
3.3 程序编码风格要保持一致性,如函数体一致缩进
参考文献:《C++ primer》
写在最后:欢迎指出不足,提出补充,一起进步呀