侯捷STL学习(四)--OOP-GP/操作符重载-泛化特化
C++标准库第二讲
- 体系结构与内核分析
- 第1-7节为第一讲
- 读源代码前的准备
第八节:源代码分布
- C++基本语法
- 模板的使用
- 数据结构和算法
- 本课程主要使用:
Gnu C 2.9.1与Gun C 4.9 - VS2013中源代码的地址
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
第九节:OOP(面向对编程) VS GP(泛型编程)
- OOP将数据data和方法methods合在一起
list不能像vector,deque一样用全局的sort排序;因为list内存上不连续,不能进行随机访问迭代器的操作- 全局排序的源码

- GP将数据data和方法methods分开来

- 所有算法最终都是在比较大小!
- Containers和Algorithm各自单独闭门造车,其可以通过Iterator连通
- Algorithm通过Iterator确定操作范围,并通过Iterators取用Container元素。
第十节:操作符重载&&模板(Specialiazation,全/偏特化)
Operator Overloading操作符重载

- 限制的情况,有的可能不能进行重载

- 迭代器的重载,对容器实现很有帮助

类模板
- 在实例化时要指明类型

函数模板
- 实例化时编译器进行实参推导

成员模板
- 比较少用

Specialization,特化


偏特化
- 有个数上和范围上的偏

侯捷STL学习(四)--OOP-GP/操作符重载-泛化特化的更多相关文章
- 侯捷STL学习(四)--allocator和容器时间的实现关系
第十一节 分配器 分配器的好坏影响到容器的性能 operator new()里面调用malloc D:\Program Files (x86)\Microsoft Visual Studio 12.0 ...
- 侯捷STL学习(12)--STL相关内容hash+tuple
layout: post title: 侯捷STL学习(12) date: 2017-08-01 tag: 侯捷STL --- 第四讲 STL相关的内容 Hash Function 将hash函数封装 ...
- 侯捷STL学习(11)--算仿+仿函数+适配器
layout: post title: 侯捷STL学习(十一) date: 2017-07-24 tag: 侯捷STL --- 第三讲 标准库内核分析-算法 标准库算法形式 iterator分类 不同 ...
- 侯捷STL学习(九)--关联式容器(Rb_tree,set,map)
layout: post title: 侯捷STL学习(九) date: 2017-07-21 tag: 侯捷STL --- 第十九节 容器rb_tree Red-Black tree是自平衡二叉搜索 ...
- 侯捷STL学习(十)--容器hashtable探索(unordered set/map)
layout: post title: 侯捷STL学习(十) date: 2017-07-23 tag: 侯捷STL --- 第二十三节 容器hashtable探索 hashtable冲突(碰撞)处理 ...
- 侯捷STL学习(八)-- 深度探索deque
layout: post title: 侯捷STL学习(八) date: 2017-07-19 tag: 侯捷STL --- 第十八节 深度探索deque上 duque内存结构 分段连续,用户看起来是 ...
- 侯捷STL学习(七)--深度探索vector&&array
layout: post title: 侯捷STL学习(七) date: 2017-06-13 tag: 侯捷STL --- 第十六节 深度探索vector vector源码剖析 vector内存2倍 ...
- 侯捷STL学习(一)
开始跟着<STL源码剖析>的作者侯捷真人视频,学习STL,了解STL背后的真实故事! 视频链接:侯捷STL 还有很大其他视频需要的留言 第一节:STL版本和重要资源 STL和标准库的区别 ...
- 侯捷STL学习(一)--顺序容器测试
开始跟着<STL源码剖析>的作者侯捷真人视频,学习STL,了解STL背后的真实故事! 视频链接:侯捷STL 还有很大其他视频需要的留言 第一节:STL版本和重要资源 STL和标准库的区别 ...
随机推荐
- JAVA8新特性——接口定义增强
JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ 接口定义增强 在JDK1.8以前,接口是定义的: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法 ...
- Android 开发工具(android studio )安装中的问题记录
第一个问题,下载安装android studio . 由于国内无法通过正常方式访问谷歌官网,所以下载的确是个问题,在我仔细寻找下,发现下面两个网站可以下载: 第一个:http://www.androi ...
- java多线程模拟停车位问题
/** * */ package Synchronized; /** * @author libin * */ public class CarTest { public static void ma ...
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) D. Generating Sets 贪心+优先队列
D. Generating Sets time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- 英语发音规则---U字母-[复习中]
英语发音规则---U字母 一.总结 一句话总结:(注:本文所有//的音标为英音音标,[]的音标为美音音标) 1.U在开音节中发[ju ]/ ju: /? duty /'djuːtɪ/ ['dʊti] ...
- 《Advanced Bash-scripting Guide》学习(十八):[[ ]]与[ ]的一些特殊情况
本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 例1: [ -eq ] && [ -n "`echo ...
- 达观数据分析平台架构和Hive实践——TODO
转自: http://www.infoq.com/cn/articles/hadoop-ten-years-part03 编者按:Hadoop于2006年1月28日诞生,至今已有10年,它改变了企业对 ...
- 【.Net】Byte,Stream,File的转换
引言 文件的传输和读写通常都离不开Byte,Stream,File这个类,这里我简单封装一下,方便使用. 帮助类 public static class FileHelper { / ...
- Java企业微信开发_15_查询企业微信域名对应的所有ip
一.前言 二.方法 1.在线网站 百度搜索"域名查IP",可查到如下网站,输入域名即可查到所有IP: 站长工具 site.ip138.com tools.ipip.net 2.li ...
- Spring_总结_01_Spring概述
一.前言 从今天开始,重新总结一下Spring的相关知识,主要是结合<Spring实战(第四版)>和 <JavaEE开发的颠覆者——SpringBoot实战>这两本书以及官方文 ...