C++学习指南

C++学习指南

1. Scott Meyers的《Effective STL》,Effective系列(如《Effective C++》)基本上是C++圣经了,这一本是其中专门讲STL的,看了可以少踩很多坑。其中某个条款要解决的问题哪怕你目前很难懂,照做都是好的。

2. 侯捷老师的《STL源码剖析》,真正要想掌握一个东西,只能看源码,所谓源码面前,了无秘密。STL里最精妙的容器和算法还有traits,大师给你娓娓道来。虽然SGI STL有点老了,但是思想是一脉相承的。通过大师给你提纲挈领,你将学会怎么入手去阅读STL源码,将来你可以自己去阅读最新的STL实现。书中尤其是那句“我的确认为 99.99 % 的程序员所写的程序,在 SGI STL 面前都是三流水平”,我等小学生看了根本把持不住好嘛。

3.如果《STL源码剖析》中没来得及提到的,可以自行阅读完整SGI STL实现Download STL source code,不过应该尽量去看你正在用的编译器自带的STL实现。

4. 如果还有不懂的,去查阅cppreference和ISO IEC 14882,这里是一切的最终解释。

 

  • C++11/14 简介
    • 概述
    • 教程目录
    • 被弃用的特性
    • 与 C 的兼容性
  • 语言可用性的强化
    • nullptr 与 constexpr
    • 类型推导
      • auto
      • decltype
      • 尾返回类型、auto 与 decltype 配合
    • 区间迭代
      • 基于范围的 for 循环
    • 初始化列表
      • std::initializer_list
      • 统一初始化语法
    • 模板增强
      • 外部模板
      • 尖括号 >
      • 类型别名模板
      • 变长参数模板
    • 面向对象增强
      • 委托构造
      • 继承构造
      • 显式虚函数重载
        • override
        • final
      • 显式禁用默认函数
    • 强类型枚举
  • 语言运行期的强化
    • lambda 表达式
      • lambda 表达式基础
        • 值捕获
        • 引用捕获
        • 隐式捕获
        • 表达式捕获
      • 泛型 lambda
    • 函数对象包装器
      • std::function
      • std::bind/std::placeholder
    • 右值引用
      • 左值、右值的纯右值、将亡值、右值
      • 右值引用和左值引用
      • 移动语义
      • 完美转发
  • 对标准库的扩充: 新增容器
    • std::array
    • std::forward_list
    • std::unordered_set
    • std::unordered_map
    • std::tuple
      • 基本操作
      • 运行期索引
      • 合并与迭代
  • 对标准库的扩充: 智能指针和引用计数
    • 引用计数
    • std::shared_ptr
    • std::make_shared
    • std::unique_ptr
    • std::weak_ptr
  • 对标准库的扩充: 正则表达式库
    • 正则表达式简介
      • 普通字符
      • 特殊字符
      • 限定符
    • std::regex 及其相关
      • std::regex
      • std::regex_match
      • std::match_results
  • 对标准库的扩充: 语言级线程支持
    • std::thread
    • std::mutex
    • std::unique_lock
    • std::future
    • std::packaged_task
    • std::condition_variable
    • C++14: std::shared_lock
    • C++17: std::scoped_lock
  • 其他杂项
    • 新类型
      • long long int
    • noexcept 的修饰和操作
    • 字面量
      • 原始字符串字面量
      • 自定义字面量
  • 扩展主题: C++17 简介??
    • 主要入选特性
      • 非类型模板参数的 auto
      • std::variant<>
      • 结构化绑定(Structured bindings)
      • 变量声明的强化
    • 未入选特性
      • Concepts
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值