c++ primer学习笔记之第一章

笔记嘛,自然是记载自己还不熟悉的地方,肯定会不全。如果有幸让您看到了,还望指出错误可怜


1、main的返回值用来指示状态,返回0表示成功,非0由系统定义。可在MMC中用echo %ERRORLEVEL% 查看刚刚返回的错误


2、流表示随着时间的推移,字符时顺序生成或消耗的。<<输出运算符将给定的值写入给定的ostream对象中,返回ostream对象,如果调用失败,(如int型的val给他赋值了个小数0.7),ostream的对象状态变成无效,它会使条件变成假。 如:while(std::cin>>val);输入了0.7。


3、注释不能嵌套,不然会有奇怪的东西,如/*s /*users*/  p*/编译器会报错。
int main()
{
  int a,b;
  std::cin>>a;
  std::cout<<"You have typed"<<a<<endl;
          std::cin>>b;
          std::cout<<"You have typed"<<b<<endl;
}

4、输入输出流是将输入暂存在一个buffer中,一个cin,cout都会从中顺序取出一个数据。若输入多了,下次输入则自动读出。如程序

如果输入3 4 5 ,则不会出现第二次输入的等待符,直接输出两行字符串。
要将流清楚,则可以用fflush(stdin/stdou),清除文件缓冲区。
int main()
{
 int a,b;
 std::cin>>a;
 std::cout<<"You have typed"<<a<<endl;
 fflush(stdin);
          std::cin>>b;
          std::cout<<"You have typed"<<b<<endl;
}



扩展:
fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃[非标准]。
fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。
printf("。。。。。。。。。。。");后面加fflush(stdout);可提高打印效率。


int fflush(FILE *stream);
如果stream指向输出流或者更新流(update stream),并且这个更新流最近执行的操作不是输入,那么fflush函数将把任何未被写入的数据写入stream指向的文件(如标准输出文件stdout)。否则,fflush函数的行为是不确定的。fflush(NULL)清空所有输出流和上面提到的更新流。如果发生写错误,fflush函数会给那些流打上错误标记,并且返回EOF,否则返回0。
由此可知,如果 stream 指向输入流(如 stdin),那么 fflush 函数的行为是不确定的。故而使用 fflush(stdin) 是不正确的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值