龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C和C++语言学习总结(一)(2)

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
switch(c)中的c的数据类型可以是int,char,long,unsigned int,bool. variable必须是整数或者强制为整数,由于char实际上是ASCII码,所以也可以. c不可以是double,float,char*. g

  switch(c)中的c的数据类型可以是int,char,long,unsigned int,bool.

  variable必须是整数或者强制为整数,由于char实际上是ASCII码,所以也可以.

  c不可以是double,float,char*.

goto:

goto主要用于

{...

{...

{....

goto error;

}

}

}

error:

...

  2、#define,const

  #define和const区别

  1、#define C语言

  const C语言 C++语言

  const常量有数据类型,编译器会进行类型安全检查,而#define没有数据类型,

  const的常量可以进行调试,但宏常量不能进行调试.

  2、const的使用方法

  在全局定义 const float PI=3.1415926

  在类中定义

class A

{...

A(int size);

const int SIZE;

};

A::A(int size):SIZE(size)

{

...

}

  对参数和函数的定义(const只能修饰输入参数,不能修饰输出参数)

  const int x=1; 表示x的值是1,在程序中不能改变;

  const int* x; 表示x代表的地址所指向的内容是不能改变得;

  int const* x; 与const int* x;的表示的意思一样;

  int * const x; 表示x代表的地址是不能改变的;

  当是输入参数时,不需要是void Func(const int i),void Func(const int& i),可以是void Func(int i)

  因为输入参数采用"值传递"(const int i),由于函数将自动产生临时变量用于复制该参数,该输入参数本来就无需保护,所以不要加const修饰;

  不用const int& i的原因在于内部数据类型的参数不存在构造、析构的过程,而复制也非常快,"值传递"和"引用传递"的效率几乎相当.

精彩图集

赞助商链接