C++ 学习笔记

1:#include< >和#include“ ”的区别?

答:

      	< >引用的是编译器的类库路径里面的头文件
	" "引用的是你程序目录的相对路径中的头文件
 
  

2:使用cout 无法输出 string?

答:添加  #include 并且检查又没有定义命名空间 using namespace std


3:C++ primer 中 while(cin>>x) 退出循环的条件?cin有返回值吗?

答:cin是标准输入istream的一个对象,没有返回值。">>"这个输入操作符,这个操作符接受一个istream对象作为操作数,接受一个对象作为其右操作数,并将返回其左操作数作为结果。

输入(cin)缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲区中存储。每当按下回车键后,cin 就会检测输入缓冲区中是否有了可读的数据,这种情况下cin对键盘上是否有作为流结束标志CTRL+Z或者CTRL+D:

  阻塞式检查方式指的是只有在回车键按下之后才对此前是否有 Ctrl+Z 组合键按下进行检查,非阻塞式样指的是按下 Ctrl+D 之后立即响应的方式。如果在按 Ctrl+D 之前已经从键盘输入了字符,则 Ctrl+D的作用就相当于回车,即把这些字符送到输入缓冲区供读取使用,此时Ctrl+D不再起流结束符的作用。如果按 Ctrl+D 之前没有任何键盘输入,则 Ctrl+D 就是流结束的信号。 

  阻塞式的方式有一个特点:只有按下回车之后才有可能检测在此之前是否有Ctrl+Z按下。还有一个特点,   Windows下是不用CTRL+D的,如果在你的程序中使用CTRL+D的话,如果你还有要输入的数据的话,会直接挂掉的,不能再输入了。Windows下是使用CTRL+Z的。 在你输入CTRL+Z后,括号里面的数据变为0000 0000了。

链接:

标准输入cin的返回值以及while(cin>>x)的问题




你可能感兴趣的:(c++基础,学习笔记,C++,学习笔记)