C++11 技术实践
Eli Lin 查看讲师
百林哲咨询(北京)有限公司专家团队成员
曾任金山软件 WPS Office 研发工程师,现任芒果 TV 系统工程师,负责 Redis 集群工具相关的研发与运维, 擅长 Python, C++ 等语言的项目设计与研发工作。
浏览:4755次
详情 DETAILS

简介

 本内容针对的是C++11的语言特性,与语言特性无直接关系的标准库更新(如hash/unordered_map/regex等)不包含在此提纲内。

适用方向

1.正在决定是否要用C++11,已经使用了C++11中一部分功能,对其它功能也感兴趣的团队。

2.实践分享。

课程时长:

1天(6H)

分享提纲

第一部分 语法与语言功能改进

 1.空指针

  2.禁止复制构造

  3.禁止继承或覆盖

  4.编译时断言

  5.函数无异常声明

  6.基于范围的循环

  7.新的类型别名机制

  8.对象初始化改进

  9.类型推导

  10.即写即用的函数定义

第二部分 常量与字面量

 1.枚举类型改进

  2.constexpr

  3.Unicode 常量

  4.免转义字符串常量

  5.自定义字面量后缀


备注:以上两部分几乎是C++11一份基础语言特性的改动列表, 基本上每个子特性的内容就是一两个关键字的用法, 也会比较琐碎。


第三部分 引用类型改动

 1.临时对象函数调用的重载决议

  2.右值引用与重载决议修正

  3.左值引用与右值引用的相互转换

  4.广义引用与参数转发

第四部分 移动语义

 1.对象生命周期语义

  2.移动构造函数

  3.自动资源管理指针模板类型

  4.函数隐式生成规则


备注:以上两部分联系比较紧密,示例为对文件句柄等需要配对使用的API的封装(open, close)。语言特性的介绍会多于示例。


第五部分 可变参数模板

 1.可变参数模板函数

  2.参数包

  3.元组类

第六部分 函数对象

 1.Lambda 对象

  2.通用函数模板类 (std::function)

  3.参数预绑定 (std::bind)

第七部分 多线程

 1.引入标准多线程的意义

  2.线程对象模型

  3.线程本地存储

  4.原子数据类型

  5.线程同步


备注:以上三部分最后多线程部分会用到前面两部分介绍的语法基础。在C++11中新增的多线程API及语言关键字将是主要内容,围绕这些内容也容易提供一些示例。





预约内训 APPLY
前往提交您的需求,我们会及时与您联系
课程推荐 COURSE

企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1