引用
- 基本引用
- int b;
- int &a = b;
- 函数引用
- 引用用作函数的返回值
- 用const 保护实参不被修改 int fun(const int& _nParam);
- 基本引用
指针基本概念
- 内存:线性存储结构
- 指针基本概念
- 指针的值
- 指针的类型
- 指针和所指向的位置关系
- 指针的定义: int* p1, *p2;
- 指针赋值
- 指针的运算
- 赋予的应该是内存中存在的一个地址
- 和变量类型完全一致
- 置NULL和销毁指针的习惯
- 指针+1或-1
- 什么情况下算释放了内存而且没有野指针?(普通指针)
- 指针和数组
- 数组名是一个常量指针:顺序结构
- 指向数组元素的指针
- new和delete
- 什么情况下算释放了内存而且没有野指针?(数组和链表)
- delete时的注意事项,当指针位置改变的时候,不能执行delete
- 指针赋值方法(见指针增加内容)
- 二维指针的空间结构和销毁方法
- 遥感数据中BSQ和BIP格式的的指针引用方法
- BSQ
- BIP
- 指针用作函数的参数
- 如果需要改变指针的指向数据的值,请采用“指针引用”
- 函数指针,回调函数(返回的是一个地址) : 函数名本身就是函数的地址
- 类型说明符 * 函数名(参数)
- 类(应用方面补充内容)
- 构造函数和析构函数
- 在类中怎么使用指针 相关注意事项!
- 静态成员,外部成员等 (略)
- 使用模板函数来获取数据
- 尽量不要用友元和多重继承
- C++标准库
- 参考C++ primer
- IO类(略)
- 顺序容器:vector, list, deque, array, string
- 迭代器
- 泛型算法 generic algorithm
- #include sort(v.begin(), v.end(), *fun());
- replace
- #include accumulate(v.begin(). v.end(), init_value = 0); 求和
- for_each
- lambda函数
- 关联容器:
- 按照关键字存储:map set(关键字就是value) multimap multiset
- 无序集合:unordered_map … (用哈希函数组织存储的map)
- 智能指针
- shared_ptr 允许共享
- unique_ptr 独占指针