个人知识库 个人知识库
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub

Agnes001

坚持是一件很伟大的事业
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub
  • C语言

  • CPlusPlus

    • 基础特性

      • 枚举
      • 字符指针
    • vs2019设置
    • C++11特性

    • 并发编程

    • 引用
    • 类和对象
    • 友元和运算符重载
    • 继承
    • 继承和多态
    • 模板
    • C++基础总结
    • 类型转换
    • 异常
    • 容器
    • 算法
    • C++程序设计
    • C++ Primer总结
    • 编程技巧
    • 标准库体系结构与内核分析
    • 设计模式
    • cmake配置C++工程
    • libcurl的使用总结
    • web开发框架--drogon
    • log4cplus使用
    • C++数据类型
    • 函数
    • 线程
    • 进程
    • 文件操作
    • 日常问题记录
    • Cpp案例程序
    • 多线程
    • 侯捷c++11新特性
    • 侯捷stl
      • 1.list
      • 2.traits
      • 3.queue和stack均使用deque做底层结构
  • Lua技术栈

  • edoyun

  • 内存管理

  • 数据结构

  • 网络编程

  • Linux

  • 池化技术

  • 操作系统

  • python

  • 编程技术
  • CPlusPlus
Agnes001
2022-03-24

侯捷stl

复合关系(composition) rb-tree -> set/map/multisey/multimap hashtable -> hash_set/hash_map/hash_multiset/hash_multimap deque -> stack/queue vector -> heap/priority_queue

# 1.list

list<Foo>::iterator ite;
(*ite).method(); //reference operator*(){return (*node).data;}
ite->method(); //pointer operator->(){return &(operator*());}
//上面的代码等同于 (*ite).method();
// &(*ite)->method();

# 2.traits

特性、特征、特质 iterator traits用以分离 class iterators 和 non-class iterators traits机必须有能力辨别它所获得的iterator是(1)class iterator T 或是(2)native pointer to T.利用partial specialization(偏特化)可达到目标。 non class(template) iterators 亦即natice pointer,无法定义associated types,但它的associated types 其实很直观。

# 3.queue和stack均使用deque做底层结构

stack和queue都不允许遍历,也不提供iterator。 只允许从头端或者尾端拿数据

编辑此页
#stl
侯捷c++11新特性
Lua基础语法

← 侯捷c++11新特性 Lua基础语法 →

Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式