C++学习笔记(2)
2015-10-07 本文已影响38人
别着急我来了
摘要:对于《C++ Primer》中出现的值得注意的名词的笔记。
流(stream):随着时间的推移,字符是顺序生成和消耗的。
操作符(manipulator):经常出现的endl
,接在cout后,被称作操作符的特殊值。效果是结束当前行,并将buffer中的内容刷到设备中。这样可以保证程序所产生的所有输出都真正的写入到输入流中。
命名空间(namespace):C++引入命名空间可以帮助我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。
作用域运算符(operator) ::
std::out
代表我们想使用定义在命名空间std中的名字cout。即编译器应从操作符(运算符)左侧名字所示的作用域中寻找右侧那个名字。
使用using声明using
namespce::name
即可无需专门的前缀也能使用所需的名字了。但是规定,每个using声明引入命名空间中的一个成员。
#include<iostream>
using std::cin;
using std::cout; using std::endl;
比如下面这个例子
#include<iostream>
using namespace std;
namespace MeInMyEyes
{
char me[] = "a Handsome good-looking generous boy";
}
namespace MeInOthersEyes
{
char me[] = "a Diaosi boy";
}
int main()
{
char me[] = "a Ordinary boy";
cout << "自己眼中的我:" << MeInMyEyes:: me << endl;
cout << "别人眼中的我:" << MeInOthersEyes:: me << endl;
cout << "真实的我:" << me << endl;
return 0;
}```
编译链接结果:
![namespace](http:https://img.haomeiwen.com/i459710/57f95f17a3d04f66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
当我们使用一个istream对象作为条件时,其效果是检测流的状态。我们可以用以下codeblock来读取输入的未定数量的数据。
``while (std::cin >> value) ``