`
wangxiaohigh
  • 浏览: 1430076 次
文章分类
社区版块
存档分类
最新评论

【C++ Primer】一、二章学习笔记

 
阅读更多
一,cin.get()

目的: 防止有些程序,输出结果后关闭窗口。

作用:读取下一次键盘敲击。所有的键盘敲击,直到按下Enter才发送给程序。

二,C++新式风格

头文件:C++专有的 iostream

C专有的 cmath //就是省略了 ".h"

三,名空间

作用:使在C++标准类库中定义的名字在本程序中可以使用

用法:using namspace std;

解释:C++标准程序库中的所有标识符都被定义于一个名为std的namespace中

例子:using namespace编译指示,

原因:<iostream>和<iostream.h>格式不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

四,揭秘"cout<<","cin>>"

概念:cout是一个iostream类的对象,它有一个成员运算符函数operator<<,每次调用的时候就会向输出设备(一般就是屏幕啦)输出内容。归根到底就是运算符“<<”的重载

例子:cout.operator<<("Hello,World!").operator<<(endl);
cout<<"Hello,World!"<<endl;功能完全一样

补充:endl是一个操纵符(manipulator),它不但实现了换行操作,而且还对输出缓冲区进行刷新。什么意思呢?原来在执行输出操作之后,数据并非立刻传到输出设备,而是先进入一个缓冲区,当适宜的时机(如设备空闲)后再由缓冲区传入,也可以通过操纵符flush,ends,或unitbuf进行强制刷新。

作用:将字符串插入到,输出流中。

智能:根据变量声明类型,自动输出用户想要的效果。

五,预编译

概念:预编译又称为预处理,是做些代码文本的替换工作

用法:#include <iostream>

作用:将iostream文件的内容替换 #include <iostream>这条指令

补充:<>括起文件则在系统的INCLUDE目录中寻找文件," "括起文件则在当前目录中寻找文件。一般来说,该文件是后缀名为"h"或"cpp"的头文件。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics