柴猫

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1. 标准库定义了4个IO对象:cin,cout,cerr,clog。 clog是绑定到标准错误的ostream 对象。默认情况下,写到 clog 时是带缓冲的。通常用于将程序执行信息写入到日志文件中。
  2. endl 是一个特殊值,称为操纵符,将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。
  3.  while(std::cin>>value) 
  4. 输入输出操作符返回其左操作数(这就是为什么可以写作cin>>a>>b,cout<<a<<b)。while 条件测试输入操作符的返回结果,意味着测试 std::cin。当我们使用 istream 对象作为条件,结果是测试流的状态。如果流是有效的(也就是说,如果读入下一个输入是可能的)那么测试成功。遇到文件结束符或遇到无效输入时,如读取了一个不是整数的值,则 istream 对象是无效的。处于无效状态的 istream 对象将导致条件失败。遇到文件结束符(或一些其他输入错误)之前,测试会成功并且执行while 循环体。

  5. 标准库的头文件用尖括号 < > 括起来,非标准库的头文件用双引号 " " 括起来。
  6. 字符类型有两种:char和wchar_t。后者用于扩展字符集,比如汉字和日语。
  7. 整型的赋值:对于 unsigned 类型来说,编译器会将该值对 unsigned 类型的可能取值数目求模,然后取所得值。比如 8 位的 unsigned char,其取值范围从 0 到 255(包括 255)。如果赋给超出这个范围的值,那么编译器将会取该值对 256 求模后的值。例如,如果试图将 336 存储到 8 位的 unsigned char 中,则实际赋值为80。负值赋给 unsigned 对象是完全合法的,其结果是该负数对该类型的取值个数求模后的值。当将超过取值范围的值赋给 signed 类型时,由编译器决定实际赋的值。在实际操作中,很多的编译器处理 signed 类型的方式和unsigned 类型类似。也就是说,赋值时是取该值对该类型取值数目求模后的值。然而我们不能保证编译器都会这样处理 signed 类型。
  8. 执行算术运算,少用short,char,可能会隐含赋值越界的错误,如截断:
    char a=256;//a截断后为0
  9. float6位有效数字,double有10位。
  10. 字面常量:024表示8进制,0x24表示16进制。在数字后面加L、u可强制转换,128u,1024UL,1L等。没有short的字面常量。默认的浮点字面常量为double型,在后面加上F(f)表示单精度,同样加上L(l)表示扩展精度,如3.1415F,1E-3F,12.345L。
  11. 在字符字面值前加 L 就能够得到 wchar_t 类型的宽字符字面值。如: L'a'。
  12.  

posted on 2012-03-10 23:42  柴猫  阅读(188)  评论(0编辑  收藏  举报