【C++读书笔记之二】处理数据

  • 面向对象编程(OOP)的本质是设计并扩展自己的数据类型。设计自己的数据类型就是让类型与数据匹配。
==================================================================================================
  • 简单几种C++命名规范:
  • 1.以两个下划线 或 以下划线和大写字母开头的名称(如 _Time)被保留给实现(编译器及其使用的资源)使用。
  • 2.以一个下划线开头的名称被保留给实现,用作全局标识符。
  • 3.C++对名称的长度没有限制,名称中所有的字符都有意义。
==================================================================================================
  • 要知道系统中整数的最大长度,可以在程序中使用C++工具来检查类型长度
  • 1.sizeof操作符返回类型或变量的长度,单位为字节(操作符是内置的语言元素,对一个或多个数据进行运算,并生成一个只。例如加号操作符+)
  • 2.“字节”的含义依赖于实现,因此在一个系统中,两字节的int可能是1位,在另一个系统中可能是32位。
  • 3.头文件climits中包含了关于整型限制的信息。具体地说,它定义了表示各种限制的符号名称。如INT_MAX为int的最大取值。
  • 以上内容详见中文版P39
==================================================================================================
  • 变量的初始化语句:
  • 1.C语言版本 int unlces = 5;
  • 2.C++语言版本 int uncles(5);
  • 如果不对函数内部定义的变量进行初始化,该变量的值是不确定的。这意味着该变量的值将是它被创建之前,改内存单元保持的值。
==================================================================================================
  • 默认情况下,cout以十进制格式显示整数,而不管这些整数在程序中式如何书写的。
  • 若要修改cout显示整数的方式,可用cout<<hex 或 cout<<oct 来修改。
  • 除非有理由储存为其他类型(如使用了特殊的后缀来表示特定的类型,或者值太小,不能储存为int)否则C++将整型常量储存为int类型。
  • 通常将int类型选择为计算机最自然的类型,这意味着计算机使用这种类型时,运算速度可能最快。
==================================================================================================
  • char最常被用来处理字符,但也可以将它用作比short更小的整型。
  • const 常量被初始化之后其值就被固定了,编译器将不允许修改该常量的值(所以必须要有初始化,否则其值是不可预料的)。
==================================================================================================
  • 类型转换
  • 1.将一种算数类型的值赋给另一种算术类型的变量时,C++将对值进行转换。(值将被转换为接受变量的类型)当较大的类型转换为较小的类型时,进度降低,可能丢失数据,结果不确定。
  • 2.表达式中包含不同的类型时,C++将对值进行转换。
  •         a.如果一个操作数是long double,则将另一个操作数转换为long double
  •         b.否则,如果有一个操作数是double,则将另一个操作数转换为double
  •         c.否则,如果有一个操作数是float,则将另一个操作数转换为float
  •         d.否则,说明操作数都是整型,因此执行整型提升
  •         e.在这种情况下,如果一个操作数是unsigned long,则将另一个转换成unsigned long
  •         f.否则,如果一个操作数是long,则将另一个操作数转换为long
  •         g.否则,如果一个操作数是unsigned int,则将另一个操作数转换为unsigned int
  •         h.如果编译器到达此处,说明都是int类型
  • 3.将参数传递给函数是,C++将对值进行转换(将实际参数转换成为形式参数的类型)
  • 4.强制类型转换
  •         强制转换的通用格式如下
  •        (typeName) value;    //来自C语言
  •         typeName (value);  //纯粹的C++。让强制类型转换就像是函数调用
  •         强制类型转换不会修改value本身的值,而是创建一个新的,指定类型的值,可以再表达式中使用这个值。
==================================================================================================
本章总结
  • C++基本类型分为两组
  • 1.存储为整数的值
  •         通过储存值使用的内存量及有无符号来区分
  •         从小到大依次是 bool,char,signed char,unsigned char,short,unsigned short,int,unsigned int,long和unsigned long
  • 2.存储为浮点格式的值
  •         3种浮点类型分别是 float,double 和long double
  •         float通常32位内存,double通常64位,long double 使用80到128位。
==================================================================================================
posted @ 2011-10-10 19:55  浮沉之主  阅读(261)  评论(0编辑  收藏  举报