泛型编程
来源:互联网 发布:金税盘开票软件口令 编辑:程序博客网 时间:2024/06/07 06:17
@讲师张文杰—Geekband
1.概观
- 将型别以一种 to-be-specified-later 方式给出
- 通过模板以及相关性质表现的
2.Traits
…实际调试一遍
3.迭代器
- 分离算法和容器
4.容器
容器的种类
1.vector
2.list
3.deque
4.set and Multiset
5.Map and MultiMap
6.stack
7.Queue
1.vector
- 能够存放任意型别的动态数组
- 一段地址连续的空间
- 动态的空间调整
- 向vector添加元素
//vector的声明#include<vector> int main(){ std::vector v;}
push_back函数
向vector添加元素的方法,调用该函数,将元素加至其尾部
std::vector<std::wstring> v3;for(std::size_t i=0;i<10;i++){ std::wstringstream wss; wss<<TEXT("String[")<<i<<TEXT("]")); v3.push_back(wss.str());}
empty()函数
size()函数
std::vector<std::wstring> v3;bool isEmpty = v3.empty();int array[] = {1,2,3,4,5,6,7,8,9,10};std::vector<int> v(array,array+10);std::size Vsize = v.size();
访问vector中的元素
vector::at()
vector:operator[]
std::vector<std::wstring> v;v.reserve(10);for(std::size_t i=0;i<3;i++){ std::wstringstream wss; wss<<TEXT("String[")<<i<<TEXT("]"); v.push_back(wss.str());}try{ std::wstring wsz1 = v[5]; std::wstring wsz2 = v.at(5);}catch(const std::exception& e){ Console::WriteLine(ex.what());}
C++里尽量少用try-catch,开销大。
2.Deque
3.List
- 调试运行文件—test_fx
- 使用list,必须用include,并通过std命名空间去访问
创建List
std::list l; 创建一个T型别的空list
std::list l(n);创建一个容量是n的T型别的list
std::list l(n,x); 创建一个容量是n的T型别的list,初始化为x
std::list copyOfList(l); 创建一个已有list的拷贝
std::wstring array[] = {TEXT(“Str-1”),TEXT(“Str-2”),TEXT(“Str-3”)};
std::list l(array,array+3);
通过一个数组创建一个list
常见操作
- l.remove_if(ContainsString(TEXT(“C++”)));
- //remove string that contains “C++”
0 0
- 面向对象编程VS泛型编程
- 面向对象编程VS泛型编程
- 泛型编程\元编程的概念
- 面向对象编程与泛型编程
- 泛型编程0
- 泛型编程
- 泛型编程技术
- 泛型编程基础
- 泛型编程
- 泛型编程
- C#泛型编程
- 泛型编程
- 有限状态机 泛型编程
- 泛型编程
- C#泛型编程
- Java 泛型编程
- 泛型编程
- Java泛型编程
- php电商系统iwebshop二次开发教程第一讲《iwebshop框架结构》
- 九大排序算法总结
- 内存映射操作
- 九度OJ,题目1089:数字反转
- (4.2.16.2)Android判断当前应用程序处于前台还是后台的两种方法
- 泛型编程
- 黑马程序员——38,IO流(字符流)
- 【学习笔记】浏览器输入一个网址回车后的全过程
- RaspiCam: C++ API for using Raspberry camera with/without OpenCv
- AWS申请图文及连接教程
- JS-基础
- Xcode中自定义代码块,只要在Xcode中操作即可
- 智能聊天机器人小黄鸡及其制作方法
- HIVE中关于collect_set与explode函数妙用