You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Progress: added §2.7 covering three more C++17 language features (#322): inline variables, nested namespace definitions, and constexpr lambda — each with a runnable, compiled example under code/2. Boxes ticked above.
Progress: wrote Chapter 8 (filesystem) in full (was a TODO stub) with a runnable example, and added more C++17 features — new aggregate rules, boolean logic metafunctions, associative-container improvements (try_emplace/insert_or_assign/extract/merge), polymorphic allocators (std::pmr), and aligned new. All with compiled examples under code/. Boxes ticked above.
All checklist items above are now ticked, and the previously incomplete chapters have been written:
Filled book content (zh + en, each with compiled code/ examples):
Chapter 8 (filesystem) — written from the stub: path, status queries (exception vs error_code), directory iteration, create/copy/remove, runnable example.
Chapter 10 (C++20) — Concepts, Modules, Ranges, Coroutines filled in; corrected the factual errors that Contracts (removed from C++20, now C++26 → Add C++26 Supports #318) and Transactional Memory (a TS) are not C++20 features.
Appendix 2 — modern C++ best practices written across all six sections.
C++17 features added to chapters 2/3/4/9 (each with a compiled example):
inline variables, nested namespaces, constexpr lambda, single-argument static_assert, new aggregate rules, boolean logic metafunctions, __has_include, guaranteed copy elision, std::string_view, std::byte, associative-container improvements, std::pmr, aligned new, type punning (std::memcpy/std::bit_cast), and math special functions (documented with a libc++ support caveat).
Verification: all 20 new/changed code/ examples compile and run under the project's clang++ -std=c++2a -pedantic.
Future standards are tracked separately in #317 (C++23) and #318 (C++26). Closing this as done.
Activity
[-]增加对 C++17 的支持[/-][+]增加对 C++17 的支持(发布第二版)[/+]revision #1: preface 增加对 C++17 的支持
revision #1: 第 1 章增加了对 C++17 的支持
revision #1: 增加习题说明,修正部分格式问题
revision #1: 第二章前半部分内容完整支持 C++17
revision #1: 更新第二章中已维护的代码
revision: #1 更新目录
revision #1: 更新附录
update #1: add appendix2 and init filesystem chapter
[-]增加对 C++17 的支持(发布第二版)[/-][+]增加对 C++20 的支持(发布第二版)[/+]see #1: concepts demo
15 remaining items
changkun commentedon Jun 7, 2026
Progress: added §2.7 covering three more C++17 language features (#322): inline variables, nested namespace definitions, and constexpr lambda — each with a runnable, compiled example under
code/2. Boxes ticked above.book: add C++17 single-argument static_assert
book: add C++17 guaranteed copy elision
book: add C++17 std::string_view and std::byte
book: write Chapter 8 (filesystem)
book: add C++17 new aggregate rules and boolean logic metafunctions
book: add C++17 associative container improvements and std::pmr
book: add C++17 aligned new for over-aligned types
changkun commentedon Jun 7, 2026
Progress: wrote Chapter 8 (filesystem) in full (was a TODO stub) with a runnable example, and added more C++17 features — new aggregate rules, boolean logic metafunctions, associative-container improvements (
try_emplace/insert_or_assign/extract/merge), polymorphic allocators (std::pmr), and alignednew. All with compiled examples undercode/. Boxes ticked above.book: add type punning (memcpy/bit_cast) and math special functions
book: add C++17 __has_include preprocessor operator
book: fill Chapter 10 (C++20) and fix Contracts/TM factual errors
book: write Appendix 2 (modern C++ best practices)
changkun commentedon Jun 7, 2026
Closing: roadmap complete
All checklist items above are now ticked, and the previously incomplete chapters have been written:
Filled book content (zh + en, each with compiled
code/examples):path, status queries (exception vserror_code), directory iteration, create/copy/remove, runnable example.C++17 features added to chapters 2/3/4/9 (each with a compiled example):
inline variables, nested namespaces, constexpr lambda, single-argument
static_assert, new aggregate rules, boolean logic metafunctions,__has_include, guaranteed copy elision,std::string_view,std::byte, associative-container improvements,std::pmr, alignednew, type punning (std::memcpy/std::bit_cast), and math special functions (documented with a libc++ support caveat).Verification: all 20 new/changed
code/examples compile and run under the project'sclang++ -std=c++2a -pedantic.Future standards are tracked separately in #317 (C++23) and #318 (C++26). Closing this as done.