您的位置:首页 > 其它

万剑归宗(二 变量和基本类型)

2010-11-04 20:34 162 查看
1.基本内置类型

  包括整型,浮点型等等等等,要注意的是他们各自所占字节长度,以及不同机型对相同操作的不同处理。

  简单的如整型赋值的截断处理,无符号和带符号的整型区别等。

  在c++中,short--16bit,int--32bit,long--32或64bit

  在C#中,short--32bit,int--32bit,long--64bit ......

2.字面值常量

  注意多行字面值,也就是反斜杠符号‘\’

3.变量

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

  右值:只能出现在赋值语句右边,不能出现在左边。

  注意63个C++关键字,例如:asm,const_cast,dynamic_cast,explicit,mutable,reinterpret_cast,static_cast,volatile,wchar_t ……

  同时注意C++操作符替代名。

  最后要注意:初始化变量有复制初始化和直接初始化两种,而我们平时基本只用复制初始化,后续会讲到他们之间的差别。

4.const限定符

  简单的说是常量限定符。

  在大多数工程中,非const变量默认为extern,要使const变量能够在其他的文件中访问,必须显式地指定为extern,例如:

    //file1.cpp

    extern const int bufSize = 100;   //const常量必须在第一次声明时就同时初始化,也就是定义

    //file2.cpp

    extern const int bufSize;

5.引用

  引用是一种复合类型,通过在变量名前添加“&”符号来定义。

  引用其实是别名。const引用是指向const的引用。例如:

    const int a = 1;

    const int &b = a;    //如果a不为const,则非法

  非const引用只能绑定到与该引用同类型的对象;

  const引用则可以绑定到不同但相关类型的对象或绑定到右值。  //为什么?简单的说是因为不同类型间会进行中间变化……

6.typedef

  用来定义类型的同义词,通常用于下面三种目的:

    为了隐藏特定类型的实现,强调使用类型的目的;

    简化复杂的类型定义,使其更容易理解;

    允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。

7.枚举

  定义与结构体定义相似,成员是常量。定义过程中可以显式定义,但始终保持非显式定义的常量的值是其之前常量+1。

8.类类型

  用class和struct关键字定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为public,而class的成员为private。

  在c#中,无论哪种,其成员的默认访问级别都为private。

9.设计自己的头文件

  头文件用于声明,而不是用于定义;

  头文件包含在多个源文件中,所以不应该包含变量或函数的定义;

  一些const对象定义在头文件中;

  避免多重包含头文件的有效方式是:

    #ifndef INCLUDE

    #define INCLUDE

      //do something

    #endif

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: