版权声明:@语言怪 https://blog.csdn.net/qq_38898947/article/details/84979950
第二章 开始学习C++*
** 以前没有注意到的:**
-
控制符endl,它本质是个函数模板。
cout<<endl相当于cout<<"\n"<<flush;
即换行和刷新缓冲区。强制刷新而不用等缓冲区满或程序结束。平时的程序可能看不出区别,过多endl影响速度。 -
预处理器是在真正的编译开始之前由编译器调用的独立程序。预处理器可以删除注释、包含其他文件以及执行宏(宏macro是一段重复文字的简短描写)替代。
-
名称空间支持是一项C++特性,让厂商能将其产品封装在一个叫做名称空间的单元中,来标识不同厂商。最好的做法是:只使所需的名称即可。
using std::cout
using std::endl;
std::cout<<std::endl; -
声明语句:需要的内存,内存单元名称,函数接口:
它的作用更重要是让编译器捕作到错误,避免人为错误。(特别是定义一些长得相似的变量名称,突然出现一些因为打错名字而使用的变量) -
常规的独立程序都需要main(),可以将计算机操作系统看作调用程序。将返回值给操作系统;DLL模块不是独立的程序,因此不需要main();
书中一些有意思的见解:
-
C++编译器自带很多头文件(吸引人的原因之一),每个头文件都支持一组特定工具。
问题在于究竟使用哪种拓展名,因此他们最终同意不使用任何拓展名。如iostream(不是C库继承来的) -
对象的长处之一:不用了解对象的内部情况,就可以使用它。只需要知道它的接口。
cout的智能行为源自C++的面向对象特性。 -
函数原型之于函数就像变量声明之于变量。
-
C++语句类型:
语句 | 说明 |
---|---|
声明语句 | 定义函数中使用的变量的名称和类型 |
赋值语句 | 使用赋值运算符给变量赋值 |
消息语句 | 将消息发送给对象,激发某种行为 |
函数调用 | 执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句。 |
函数原型 | 声明函数的返回类型,函数接受的参数数量和类型。 |
返回语句 | 将一个值从被调用的函数那里返回到调用函数中比如return |