万剑归宗(二 变量和基本类型)
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
包括整型,浮点型等等等等,要注意的是他们各自所占字节长度,以及不同机型对相同操作的不同处理。
简单的如整型赋值的截断处理,无符号和带符号的整型区别等。
在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
相关文章推荐
- 《C++ Primer(第5版)》学习笔记:第2章 变量和基本类型
- 2. 基本数据类型-变量的使用
- scala 开发入门(1)-- 变量及基本数据类型
- C++基础<02>—变量和基本类型
- C++Primer 学习笔记 第二章(变量和基本数据类型)
- C++学习笔记——变量和基本类型
- java final 与引用类型变量和基本类型区别
- java的基本概念:进制、单位、编码、数据类型、变量声明、ASCII码
- C++读书笔记-变量和基本类型
- C++进阶教程(含C++11)(1)变量与基本类型1
- 第二章变量和基本类型
- [C++ primer]第2章 变量和基本类型
- 《C++ Primer第四版》学习笔记(三)变量和基本类型 之 基本内置类型
- 第二章 变量和基本类型(续2) 引用 & typedef
- C++Primer读书笔记----第二章变量和基本类型
- 2.变量和基本类型(c++)
- C++11(1):变量和基本类型
- C语言基础学习基本数据类型-变量和常量
- C++ Primer学习笔记2-变量与基本类型
- 【Java学习笔记】基本类型变量的操作