Chinaunix首页 | 论坛 | 博客
  • 博客访问: 381403
  • 博文数量: 61
  • 博客积分: 1546
  • 博客等级: 中尉
  • 技术积分: 708
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-22 20:07
文章分类

全部博文(61)

文章存档

2011年(61)

分类: C/C++

2011-07-13 22:25:04

1.char常量,最简单的方法是将字符用单引号括起。
  如在ASCII系统中对应的'A'为65,即字符A的ASCII码
  这种表示法优于数值编码,它更加清晰,且不需要知道编码方式。如果系统使用的是EBCDIC,则A的编码不是65
  但'A'表示的仍然是字符A
  (C++ primer plus - p47)

2.建议使用endl,不推荐使用\n来换行。因为\n有可能不是代表换行,它是有系统依赖性的
  (Sams Teach Yourself C++ in One Hour a Day - p32)

3.signed char VS unsigned char
  与int不同的是,char在默认情况下既是没有符合,也不是有符号。是否有符号由C++实现决定。

4.程序需要处理的字符集可能无法用一个8位的字节表示,如日文,中文
  wchar_t宽字符类型是一种整数类型,它可能是unsigned short,也可以是int类型
  iostream头文件提供了wcin和wcout来处理wchar_t流

5.常量推荐使用const定义,而不是#define
  const定义的常量有具体的类型;
  可以将定义限定在特定的函数或文件中(通过作用域);
  可以将const用于更复杂的类型(数组)

6.浮点数的E表示法,外观如3.45E6指3450000,3.45称为尾数,6称为指数
  d.dddE+n指的是将小数点向右移n位,d.dddE-n指的是将小数点向左移n位

7.强制类型转换通用格式:
  (typeName) value //C语言格式
  typeName (value) //C++格式
  新格式的想法是要让强制类型转换就像函数调用

8.基本数据类型小结
  short至少为16位,int至少与short一样长,long至少为32位且至少和int一样长
  C++确保float不比double长,而double不比long double长,通常float使用32位内存
     double使用64位,long double使用80到128位

9.读取一行文本
  cin读取字符串,遇到回车,空格,制表符就返回
  有时需要读取一行文本。
  istream中的类(cin)提供了一些面向行的成员函数:getline()和get()
  getline(buffer, size)将丢弃换行符,get(buffer, size)将换行符保留在输入流中
  cin.get()将读取下一个字符(即使是换行符)——它通常与get(buffer,size)联合使用
  或者将这两个成员函数拼接起来:
  cin.get(name,size).get();
  一些老的C++版本没有实现不接受任何参数的get(),而是需要接受一个char参数:
  char ch;
  cin.get(ch);

  为什么cin.get会存在呢?首先,老式实现没有getline(),其次如何知道停止读取的原因是已经读取了整行
  而不是由于数组已填满呢?查看下一个输入字符,如果是换行符,说明已读取了整行。

  总之,getline使用起来简单,但get使得检查错误更简单些。

阅读(1940) | 评论(0) | 转发(0) |
0

上一篇:C exception

下一篇:没有了

给主人留下些什么吧!~~