C++ standard library source code学习小组(正式组_免费)


About

学习目标

C++是一门复杂性很高的语言,这既体现在为处理不同粒度而衍生的纷繁复杂的语法,也体现在为配套不同语言机制(面向对象,模板等)而设计的各种规则。虽然这些复杂性让很多初学者望而生畏,但确实都是为了写出极致性能的代码而不得不做出的妥协。C++标准库中为了优化代码性能,各种C++语言层面的技巧都得到了广泛的应用,以至于C++语言的复杂性leak进了标准库中。作为C++ app的开发人员,竟然需要学习如何正确地使用标准库(e.g. Scott Meyers甚至写了<Effective STL>来提倡best practice for using STL)。

正确并且高效地使用STL几乎等于理解STL的实现方式。比如说,vector / map / unordered_map中当容器扩容/删除元素时,element iterator有时被invalidate而有时没有。与其记忆纷繁复杂valid / invalid的规则,不如自己根据STL的实现自己推导。

这个读书小组旨在理解STL的各种容器的实现细节:一方面加深小组成员对STL的理解,一方面提高小组成员阅读源代码的能力。

学习方式: 

个人学习+小组讨论。本读书小组以Clang C++ impl为基础,分为两部分学习:前半部分由组长带大家复习C++语法/阅读较为简单的标准库src, 后半部分由学员阅读STL代码并present自己的理解。

1)学习任务:前半部分由组长准备学习材料;后半部分每周由学员作报告,梳理STL不同容器实现细节,分享心得。

2)每周报告:轮流由一位组员做报告,梳理重点内容,分享心得。

3)讨论答疑:每周报告后进行小组讨论,平时鼓励随时在微信群中交流,疑难问题也可以向高级会员群求助,助教会在期中和期末进行答疑。

4)表现打分:领队在学习结束后根据平时出勤、主讲表现、讨论等等评测所有小组成员。

其他

1) 学分制:本期学习小组计入Qishi Credit(学分),为2个学分(请前往此处了解琪石综合评分)。

2) 打分制:学习小组临近结束,领队会给所有参与的同学做一个评估、打分。

学员组成:

助教:一名(已到位)

领队:一名(已到位)

组员:8人(含领队),不限专业,但要求对技术有热情,爱表达爱提问的,有独立思考和钻研的能力

报名要求:

注册并登录陆琪石网站https://www.qishicpc.com, 在Activities中选择进行报名。

正式组(免费):(需要面试才能进入)

正式组仅限高级会员和外卡会员报名(外卡购买详见此处,费用为50美元,有效期为365天,大多数付费活动五折优惠)。报名时请附上自己的简历和Cover Letter (简单说明为什么感兴趣、每周可投入时间等)。

旁听组(收费):(缴费即进场)

旁听组对所有会员开放,报名费一旦缴费成功确定报名,报名费概不退还。

课程时间:

2/11/2023 - 4/8/2023, 共九周

琪石学分: 2


Syllabus

部分学习大纲:

1)C++ object under the hood: how an object is created and destroyed

2)<type_traits>: what is SFINEA

3)<algorithm>

4)<memory>: how smart pointers are implemented

5)<vector>

6)<set> / <map>

7)<unordered_set> / <unordered_map>

8)<deque>

9)<list>

学习资料:
C++ lib implementation: https://opensource.apple.com/source/clang/clang-800.0.38/src/projects/libcxx/include/

...

This activity is only available to Premium and Wild Card Members

Register or Login to apply!

...

Activity type: OnlineStudyGroups

Invite friends to join!

...


Announce date: Sept. 23, 2022

Registration deadline: Dec. 31, 2022

Start date: Feb. 11, 2023

End date: April 8, 2023

...

Leader: Not disclose

Maximum participants: 8

Maximum Applicants: 30

5 people already applied

...

This activity is free


Copyright 2020 by Flash Kick In Consulting Inc. All Rights Reserved.