C++学习笔记(一)
2016-05-18 15:55
309 查看
1)预处理器#include
a)<> 表示文件是一个工程或标准头文件,查找过程会查找预定义的目录
我们可以设置搜索路径的环境变量 或 命令行选项 来修改目录。
b)“” 表示用户提供的头文件, 查找该文件从当前文件目录开始。
2)条件指示符 :#ifndef...#ifdef...#endif 防止头文件重复处理。保证头文件只被处理一次。
3)C++是一种静态数据类型语言, 类型检查放在 编译时。
4)数据类型
内置数据类型, 自定义数据类型
a)内置数据类型; 算数类型 和 空类型。算数类型:整型和浮点型。算数类型的尺寸在不同机器上有差别。
bool char wchar_t char16_t char32_t short int long longlong float double longdouble
b)类型转换;当我们赋给一个无符号数, 超出它的范围时,结果是 初始值对无符号类型表示的数值总数取模后的余数;
当我们赋给带符号类型超出它范围的数时,结果是未定义的
无符号数和有符号数相加时,有符号数会转换为无符号数。
无符号数永远不会小于0,所以注意死循环。
所以无符号数和有符号数不要混用。
5)十进制,8进制(0开头),16进制(0x或0X开头)
6)字符串常量 在字符串末尾添加空字符\0,字符串实际长度比字面长度加1;
7)转义字符:两类 不可打印,和普通
换行符\n 横向制表符\t 报警响铃符\a
纵向制表符\v 退格符\b 双引号\"
反斜线\\ 问号\? 单引号 \'
回车\r 进纸符\f
8)c++语言支持分离编译机制,允许将文件分割成若干个文件,每个文件都独立编译。
文件之间会共享代码,一个文件可能用到另一个文件的变量;
9)C++是大小写敏感的
10)符合类型: 引用和指针
a)引用:为对象取得另外的一个名字;
引用类型引用另外一种类型;通过声明符& ,&d定义引用类型,引用必须初始化;
一旦引用的初始化完成,引用和他的初始值对象绑定在一起。无法重新绑定。
它只是对象的另外一个名字。他的初始值必须是一个对象,且类型完全相同。
b)指针:对其他对象的间接访问。指针本身是一个对象。
**指向指针的指针
11)const限定符
变量的值不能改变;对他赋值的语句均为错误;
默认情况下是仅在文件中有效
a)const的引用。 对常量的引用。 非const的引用不能引用const常量
允许用任意表达式作为初始值
b)const的指针。指向常量的指针。不能改变其所致对象的值。想存放常量对象的地址,只能使用指向常量的指针。
普通指针不能指向常量变量。
不能给常量指针赋值。
当常量指针指向非常量的对象时,不能通过该指针改变对象的值;
c)const指针 常量指针必须初始化,一旦初始化完成,他的值不能再改变。*const
能够通过指针修改对象的值。
12)类型别名
typedef double *p;p是double *的别名。
13)auto类型 让编译器分析表达式的类型,通过初始值来推断变量的类型。
auto a=b+c;
变量必须初始化。
14)自定义数据类型
a)struct {};
b)class
a)<> 表示文件是一个工程或标准头文件,查找过程会查找预定义的目录
我们可以设置搜索路径的环境变量 或 命令行选项 来修改目录。
b)“” 表示用户提供的头文件, 查找该文件从当前文件目录开始。
2)条件指示符 :#ifndef...#ifdef...#endif 防止头文件重复处理。保证头文件只被处理一次。
3)C++是一种静态数据类型语言, 类型检查放在 编译时。
4)数据类型
内置数据类型, 自定义数据类型
a)内置数据类型; 算数类型 和 空类型。算数类型:整型和浮点型。算数类型的尺寸在不同机器上有差别。
bool char wchar_t char16_t char32_t short int long longlong float double longdouble
b)类型转换;当我们赋给一个无符号数, 超出它的范围时,结果是 初始值对无符号类型表示的数值总数取模后的余数;
当我们赋给带符号类型超出它范围的数时,结果是未定义的
无符号数和有符号数相加时,有符号数会转换为无符号数。
无符号数永远不会小于0,所以注意死循环。
所以无符号数和有符号数不要混用。
5)十进制,8进制(0开头),16进制(0x或0X开头)
6)字符串常量 在字符串末尾添加空字符\0,字符串实际长度比字面长度加1;
7)转义字符:两类 不可打印,和普通
换行符\n 横向制表符\t 报警响铃符\a
纵向制表符\v 退格符\b 双引号\"
反斜线\\ 问号\? 单引号 \'
回车\r 进纸符\f
8)c++语言支持分离编译机制,允许将文件分割成若干个文件,每个文件都独立编译。
文件之间会共享代码,一个文件可能用到另一个文件的变量;
9)C++是大小写敏感的
10)符合类型: 引用和指针
a)引用:为对象取得另外的一个名字;
引用类型引用另外一种类型;通过声明符& ,&d定义引用类型,引用必须初始化;
一旦引用的初始化完成,引用和他的初始值对象绑定在一起。无法重新绑定。
它只是对象的另外一个名字。他的初始值必须是一个对象,且类型完全相同。
b)指针:对其他对象的间接访问。指针本身是一个对象。
**指向指针的指针
11)const限定符
变量的值不能改变;对他赋值的语句均为错误;
默认情况下是仅在文件中有效
a)const的引用。 对常量的引用。 非const的引用不能引用const常量
允许用任意表达式作为初始值
b)const的指针。指向常量的指针。不能改变其所致对象的值。想存放常量对象的地址,只能使用指向常量的指针。
普通指针不能指向常量变量。
不能给常量指针赋值。
当常量指针指向非常量的对象时,不能通过该指针改变对象的值;
c)const指针 常量指针必须初始化,一旦初始化完成,他的值不能再改变。*const
能够通过指针修改对象的值。
12)类型别名
typedef double *p;p是double *的别名。
13)auto类型 让编译器分析表达式的类型,通过初始值来推断变量的类型。
auto a=b+c;
变量必须初始化。
14)自定义数据类型
a)struct {};
b)class
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性