c++学习(一)——条件状态

原创 2007年10月05日 09:51:00
 

流状态的查询和控制

在学习中,碰到书中这样一个例子,自己写了一个小程序实现它,如下:

 #include <iostream>

using namespace std;

int main()
{
 int ival;

// read com amd test only for EOF: loop is executed if there are other IO failures
 while (cin >> ival , !cin.eof())
 {
  if (cin.bad()) // input stream is corrupted; baid out
  {
   throw runtime_error("TO stream corrupted");
  }
  if (cin.fail()) // bad input
  {
   cerr << "bad data, try again"; // warn the user
   cin.clear(istream::failbit); // reset the stream
   continue; // get next input
  }
 }
 return 0;
}

当运行时,如果输入的是int类型,则允许下一次输入,当输入错误时,则一直显示bad data, try again,成为一个死循环。单步调试时,发现当输入错误时,则不允许下次输入,直接跳过了。搞不清楚为什么,迷惑中。

如果去掉!cin.eof(),则直接判断,错误时就跳出循环,结束。

C++11多线程之条件变量

翻译。原文:http://en.cppreference.com/w/cpp/thread/condition_variable
  • nirendao
  • nirendao
  • 2016年06月04日 22:12
  • 1695

C++ 条件编译

条件编译:按照不同的编译条件去编译不同的程序代码,从而使一个源程序在不同的编译条件下生成不同的目标程序。 C++提供几种条件编译指令,以一个表达式或者某个宏是否被定义的条件作为编译条件。 指...
  • ForestRound
  • ForestRound
  • 2016年10月01日 17:26
  • 622

成为C++高手之头文件与条件编译

但现在看起来真不爽,main.c依赖的文件不能在工程中管理,要修改那些文件的话麻烦大了。如何既能分成多个文件又能在工程中看到呢?可以,使用头文件(h文件)...
  • nkmnkm
  • nkmnkm
  • 2016年06月06日 06:17
  • 4836

C++的条件编译

一般情况下面C++的.h文件和.cpp文件里面的每一行代码都是要经过编译的,但是通过条件编译的方法可以让某些语句不编译, 条件编译常见的语句形式是: #ifdef 标示符 代码段1 #else 代码段...
  • Mewparadise
  • Mewparadise
  • 2015年04月11日 00:04
  • 656

Imperfect C++读书笔记(二):前置条件、后置条件和不变式

一、定义 前置条件:指函数履行其契约所必须满足的条件,即此函数可以执行的必须满足的条件。 后置条件:指函数执行完毕后,返回之前哪些条件是调用者可以期望的。 DbC:Design by Contract...
  • slowwind2007_lishu
  • slowwind2007_lishu
  • 2014年02月23日 15:15
  • 2161

c/c++中的条件编译实例

我们在写程序的过程中老是在头文件用这样的语句:       #ifdef 标志符        程序段1        #else         程序段2        #endif ...
  • hanghangde
  • hanghangde
  • 2016年04月11日 17:18
  • 2384

三极管的工作条件及工作状态的判断

三极管的工作条件及工作状态的判断 发布时间: 2013-05-23 07:24:25 来源: EDA中国 三极管的工作条件及工作状态的判断 晶体三极管简称为晶体管,它由两个PN结有机地结合在一起构...
  • effort0806222
  • effort0806222
  • 2016年01月17日 10:24
  • 1391

获取键盘上某键的状态

::GetKeyState(VK_SHIFT) > 0 没按下 ::GetKeyState(VK_SHIFT) 返回值给出了给定虚拟键的状态,状态如下: 若高序位为1,则键处于DOWN状态,否...
  • cmlxiaogeaaa
  • cmlxiaogeaaa
  • 2014年08月05日 17:28
  • 1416

对C++11条件变量的理解(逻辑)

之前对条件变量一直抱有疑惑,通过互斥锁已经能够保证同一时刻只有一个线程访问共享区资源了,那还要用条件变量干什么呢?说到这里,解惑来源于这篇文章c++11线程之条件变量condition_variabl...
  • LYS_SONG
  • LYS_SONG
  • 2017年02月17日 22:53
  • 904

c++11多线程 生产者-消费者模型/条件变量condition_variable

在工作中,大家可能会碰到这样一种情况:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就...
  • AXuan_K
  • AXuan_K
  • 2016年07月20日 21:18
  • 2436
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++学习(一)——条件状态
举报原因:
原因补充:

(最多只允许输入30个字)