happy

数据类型基础知识与操作

  • 字,字节,字长,位

  1. 位:bit。0或1,一个2进制位

  2. 字节:Byte。1byte=8bit

  3. 字:word。1word=2byte

  4. 字长:数据总线宽度,和字没关系。不确定。有32位,64位。等

  • 整形。3种

  1. 整数:short,int,long。short半个机器字长,int一个机器字长。long一般一个或两个机器字长

  2. 字符: char ,wchar_t。char普通字符,一个字节。wchar_t汉字,日文,字符。不能用一个字节表示的字符

  3. 布尔:0是false,非零为true

  4. 出bool外,其他类型都有signed和unsigned

  • 浮点型

  1. float:只能保证6位有效数字

  2. double:可以保证至少10位有效数字

  • 字面值常量

  1. 0开头是8进制

  2. 0x开头是16进制

  3. L/l后缀为long

  4. u、U后缀为unsigned

  5. L"a"宽字符串字面值

  • 变量:程序中可以操作的有名字的存储区

  • 左值:可以出现在赋值语句左边或右边

  • 右值:只能出现在赋值语句右边

  • 初始化两种方式

  1. int a=3;复制初始化方式

  2. int a(3);直接初始化方式

  3. 初始化不是赋值,这是两种不同的操作

  4. 初始化是对象创建时赋初始值,赋值是擦出当前值用新值代替.

  • 自动初始化

  1. 函数外部定义,自动初始化为0

  2. 函数内部定义,不做初始化。

  • extern只声明,不定义变量.e.g:extren int a;声明了变量a,但没有定义

  • 作用域

  1. 全局作用域

  2. 局部作用域

  3. 语句作用域

  • const

  1. const定义的对象不可变更起内容,但仍是左值

  2. 定义的同时必须初始化

  3. const定义的对象,默认为局部变量,只能在本文件中访问,若要在其他文件中访问 要定义为如下形式:

  4. file1.cpp    //extern const int a=10;

  5. file2.cpp   //extern const int a;

  • 引用

  1. 引用是绑定对象的别名,左右在引用上的操作事实上就是作用在绑定对象上的操作

  2. 声明方式 int &refVal=i; 用&声明引用

  3. const引用:绑定到const对象上的引用,可以绑定右值.e.g:const int &refi=1;非const引用不能绑定右值

  4. const引用是只读的.

  • typedef

  1. 用来类型的同义词

  2. typedef double mydouble;

  3. typedef int myInt;

  4. 使用目的:

  5. 隐藏实现,强调类型使用的目的

  6. 简化复杂的类型定义,增加可读性

  7. 允许一种类型用于多个目的

  • 枚举enum

  1. 定义:enum open_mode{input,output,append};//input=0,output=1,append=2;

  2. 用于定义一组相关联的整数常量集

  3. 枚举成员的值初始化后便不能改变。

  4. 特殊:enum Points{point2d=2,point2w,point3=3,point3w};//point2d=2,point2w=3,point3d=3,point3w=4;

  • 类类型

  1.  类定义都包括接口和实现

  2. 接口:使用该类的代码需要执行的操作,即该类提供的操作

  3. 实现:该类所使用的数据及定义该类所需要的但又不供一般性使用的函数

  4. 先定义接口,通过接口确定所需的数据,及支持接口所需的实现

  5. 类定义结束要有;

  6. 类包括成员函数和成员变量,成员变量一般在构造函数中初始化.

  7. class 定义,默认是private.struct定义,默认是public的

  • 自定义头文件

  1. 包括:

  2. 类定义

  3. extern变量

  4. 函数声明

  5. 头文件用于声明而不是定义.不应该含有函数和变量的定义.因为头文件保护在多个源文件中,会出现多重定义链接错误.

  6. 不包含定义的例外

  7. 定义类

  8. 值在编译时就知道的const对象

  9. inline函数

  10. const int a=100可放在头文件中,二const int a=fun();应放在源文件中

  • #include

  1. 是c++预处理器的一部分

  2. 只接收一个参数<头文件名>

  3. 头文件保护符,避免多重包含

  4. 为避免名字冲突,预处理器变量一般全大写

  5. #define 指示接受一个名字,并定义改名字为预处理器变量

  6. #ifndef 指示检查指定的预处理器变量是否未定义

  7. 如果预处理器变量未定义那么跟在其后面的所有指示都被处理,指到出现#endif。预防多次包含同一头文件


标签: c++
评论
<
© happy | Powered by LOFTER