c++语言程序设计-----学习笔记(1)

王朝c/c++·作者佚名  2006-01-09
宽屏版  字体: |||超大  

C++程序设计语言 学习笔记(1)

前3章略。。。。

第4章 类型和声明

1 类型:

C++基本类型: 用户自定义类型:

布尔型 bool 枚举类型 enum

字符型 char 其他:

整型 int 空类型 void

浮点型 double

2 类型的大小:

C++对象的大小是以char的大小的倍数来表示的,所以char大小就为一。一个对象的大小可用sizeof来得到。

3枚举:

一组由用户刻画的值,枚举是一种自定义类型,例:

enum key{asm,auto,break}

即表示key是一种类型,此种类型的类型的数据只能是asm,auto或reak。

默认情况下枚举符所赋的值从0开始依次递增,但我们可以通过指定来改变默认,例:

enum key{asm=2,auto,break}

此枚举表示0位,1位为空,2位为asm,3位为auto,4位为

break

3 枚举的范围:

① 若枚举中所有枚举符的值均非负,则此枚举表示范围为[0:2k-1];

② 若枚举中所有枚举符的值有负,则此枚举表示范围为[-2k:2k-1];

其中2k指包含了所有枚举符的值的最小的2的幂,即:

enum flag{x=1,y=2,z=4,e=8}

由于此枚举包含9个符值(0-8),则最小的包含了9的2的幂为16,即24,(23=8,没有包含9),所以枚举类型flag表示的范围为(0-15);

4 枚举型变量的赋值:

在对枚举型变量赋值时需要使用强制类型转换,例:

enum day{ sum,mon,tue}

day c

对c赋值时,应该使用如下语句:

c=mon ; 或

c=enum day(1); 或

c= (enum day) 1;

5 作用域:

当局部变量的名字遮蔽了全局变量的名字时,若要在函数体内使用全局变量则可用“::”去引用,例:

int x;

void f()

{

int x=1; //遮蔽全局的x

::x=2; //给全局的x赋值

x=2; //给局部的x赋值;

}

5 自动对象和静态对象:

自动对象:

在一个函数里声明的对象都会在其定义被遇到时建立,在它的名字离开作用域时被销毁;

静态对象:

在全局和名字空间作用域里的对象,以及在函数和类型声明为static类型的对象。这种对象只建立一次,它们就一直生存到程序的结束。

通过new和delete,我们可以控制对象的生存期。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有