Reading Notes
Runestone + LearnCpp + GoogleTest primer notes, organized into one structured reading guide.
Last edited on April 9, 2026
ICS 45C is UCI's C++ programming course, focused on how programs are designed, built, debugged, and reasoned about in a lower-level language.
This page collects week-by-week notes for classmates who want a structured review of course concepts such as C++ syntax, program structure, testing, and problem solving.
ICS 45C 是 UCI 的 C++ 课程,重点在于用更贴近底层的语言学习程序如何被设计、实现、调试与分析。
这个页面汇总按周整理的课程笔记,方便同学回顾 C++ 语法、程序结构、测试方法和解题思路等核心内容。
Runestone + LearnCpp + GoogleTest primer notes, organized into one structured reading guide.
Last edited on April 9, 2026
References, OOP fundamentals, classes, constructors, C arrays, and more — integrated reading notes for Week 2.
Last edited on April 13, 2026
std::string, return by reference, C-style arrays and pointer arithmetic, operator overloading, file I/O, and error handling.
Last edited on May 31, 2026
Literals, constexpr, dynamic memory (new/delete), copy/move constructors, Rule of Three/Five, and the IntList example.
Last edited on October 13, 2026
Linked lists (Node, UnorderedList, CharList), namespace list helpers, RAII for linked structures, and the Three Laws of Recursion (Tower of Hanoi, maze, Sierpinski).
Last edited on May 1, 2026
Inheritance and polymorphism: is-a, derived constructors, public/protected/private inheritance, virtual functions, pure virtual & abstract classes, dynamic_cast, and printing inherited classes via operator<<.
Last edited on May 10, 2026
Templates (function & class), non-type template parameters, lambdas and captures, exceptions (throw/try/catch, stack unwinding, exception classes, noexcept), friend non-member functions, stringstreams, and multiple inheritance with virtual base classes.
Last edited on May 31, 2026
The C++ Standard Library and STL — containers (sequence, associative, adapter), iterators and iterator categories, algorithms (sort/find/transform/accumulate…), iterator adapters (back_inserter, stream iterators, reverse iterators), function objects, C++20 ranges, and the iostream library (istream/ostream, manipulators, formatting flags).
Last edited on May 31, 2026
Designing container classes (IntArray full build-up), std::initializer_list and brace-vs-paren initialization, assert / static_assert / NDEBUG, iterators in depth (begin/end, invalidation, the erase idiom), std::iterator_traits and iterator category tags, smart pointers and move semantics (unique_ptr, shared_ptr, make_unique/make_shared), C++20 ranges and views, and HW9 SetList + MapArray with their forward / random-access iterators.
Last edited on May 31, 2026
Exam-ready review built from the 109-question study guide and every lecture deck — all 13 topic groups (C++ programs, variables & expressions, memory/lifetime/scope, arrays/strings/linked lists, functions & parameters, classes & objects, inheritance & polymorphism, templates, lambdas, exceptions, namespaces, I/O streams, STL containers/iterators/algorithms), plus quick comparison tables, a code-review appendix, and the 12 most important things to walk in knowing.
Last edited on June 30, 2026
整合 Runestone、LearnCpp 和 GoogleTest primer 的阅读笔记,整理成一份结构化导读。
最后编辑于 2026 年 4 月 9 日
涵盖引用、面向对象编程、类与构造函数、C 数组等核心概念的整合阅读笔记。
最后编辑于 2026 年 4 月 13 日
涵盖 std::string、引用返回、C 风格数组与指针运算、运算符重载、文件 I/O 和错误处理等主题。
最后编辑于 2026 年 5 月 31 日
涵盖字面量、constexpr、动态内存(new/delete)、拷贝/移动构造与赋值、Rule of Three/Five 以及 IntList 示例。
最后编辑于 2026 年 10 月 13 日
链表(Node、UnorderedList、CharList)、namespace list 设计模式、链式结构的 RAII,以及递归三大法则(汉诺塔、走迷宫、Sierpinski)。
最后编辑于 2026 年 5 月 1 日
继承与多态:is-a 关系、派生类构造、public/protected/private 继承、虚函数、纯虚函数与抽象类、dynamic_cast,以及用 operator<< 打印继承类对象。
最后编辑于 2026 年 5 月 10 日
模板(函数模板与类模板)、非类型模板参数、lambda 与捕获、异常机制(throw/try/catch、栈展开、异常类、noexcept)、friend 非成员函数、stringstream,以及多重继承与虚基类。
最后编辑于 2026 年 5 月 31 日
C++ 标准库与 STL — 容器(顺序、关联、适配器)、迭代器与迭代器类别、算法(sort/find/transform/accumulate 等)、迭代器适配器(back_inserter、流迭代器、reverse 迭代器)、函数对象、C++20 ranges,以及 iostream 库(istream/ostream、操纵子、格式化标志)。
最后编辑于 2026 年 5 月 31 日
设计容器类(IntArray 从零完整搭建)、std::initializer_list 与花括号 vs 圆括号初始化、assert / static_assert / NDEBUG、深入迭代器(begin/end、失效、erase 习惯用法)、std::iterator_traits 与迭代器类别 tag、智能指针与移动语义(unique_ptr、shared_ptr、make_unique/make_shared)、C++20 ranges 与 views,以及 HW9 SetList + MapArray 及其前向 / 随机访问迭代器。
最后编辑于 2026 年 5 月 31 日
依据 109 题 Study Guide 和全部课堂讲义整理的期末复习版,覆盖全部 13 个主题板块(C++ 程序、变量与表达式、内存/生命周期/作用域、数组/字符串/链表、函数与参数、类与对象、继承与多态、模板、lambda、异常、命名空间、I/O 流、STL 容器/迭代器/算法),并附速查对照表、Code Review 附录,以及考前必须记住的 12 个要点。
最后编辑于 2026 年 6 月 30 日