CPP-22-02 deep review — September 29, 2026¶
The study guide maps 34 numbered objectives, grouped 6/5/5/4/2/3/2/3/4, and expands all 30 original answers. The active July 22, 2025 syllabus says 40 one-point questions, maximum 40 and 70%; its block counts total 32 and weights 107%. Those published inconsistencies remain visible. Manual comparison of the complete canonical body retained the snapshot after automated timeout. This is same-context AI review; human review remains pending.
Sources and unresolved differences¶
All 25 sources have explicit reading boundaries. Direct outcomes: {'error': 8, 'ok': 15, 'blocked': 2}. Indexed primary bodies supplied the canonical exam, vendor Advanced course, Pearson program and issuer badge after direct failures. Complete catalog/policy/scheduling/API reading from preceding same-context reviews is reused explicitly, rather than represented as successful fresh access. WG21 draft chapter reading was selective; no whole-standard or whole-Core-Guidelines audit is claimed. The cppreference algorithm index was fetched but not read; Microsoft reading covered its index. Cisco returned a 46-character shell; paid O'Reilly/Udemy interiors returned 403.
The canonical exam calls CPA recommended, while Pearson and badge criteria describe it as required. The Edube Advanced landing lists 42 hours, CPP-22-01 and prior CPA-course completion; the vendor course landing lists 50 hours, CPP-22-02 and no formal prerequisite. Public appointment-change windows also differ. These remain blockers for definitive eligibility/enrollment advice. The complete public Pluralsight landing read in preceding CPA work lists 13 durations totaling 44 hours 10 minutes versus its rounded 44-hour banner; paid content was not inspected. No account, booking or purchase was tested.
Teaching repairs and execution¶
The guide corrects the claim that every non-modifying algorithm forbids element mutation: serial for_each can mutate through a mutable iterator and returns its callable. It separates existing output elements from reserved capacity; documents operation-specific invalidation; explains comparison equivalence and strict-ordering transitivity; and tests empty search needles, paired ends, valid copy overlap, logical erase boundaries, stable partitions, duplicate multiplicities and extrema ties. Adapter traversal wording is reconciled with the actual absence of public begin/end. No individual heap algorithm is invented under a block title whose numbered objectives name merge/set/min/max.
Seven exact original files provide four programs with 34 container, 52 algorithm, 32 ordering and 24 reporting/template checks. Sixteen hosted CMake builds/runs passed: four programs on GCC 15.2 and Clang 20.1, four GCC optimized variants and four Clang AddressSanitizer/UndefinedBehaviorSanitizer variants. Every build compiles all four targets before selected execution. Clang uses the GCC 14.2 external toolchain; this is not independent libc++ or MSVC evidence.
The formatter preserves flags, precision, fill and pending width across success and exceptions. It distinguishes fixed precision from showpoint, masked flag replacement from ORing, EOF from failure, and error recovery from formatting restoration. Output failure uses a refusing stream-buffer seam, not an actual disk/device failure. Template examples cover full specializations, nested templates, a friend operator and dependent disambiguators.
Sixteen diagnostic probes rejected eight invalid forms on both compilers; errors were reviewed for the intended cause. Four historical-mode probes accepted deprecated ptr_fun in both C++14 and C++17 with warnings and output 6. That library observation is recorded separately from the C++17 removal rule. No failed-build program was executed, and no algorithm was called with an invalid comparator, forbidden overlap or stale handle. Finite comparator checks and sanitizer success apply only to tested paths. Eight broader learner labs and three integrated scenarios remain proposed.
The operation record preserves exact public sources, bounded hosted receipts, reading boundaries and objective mapping. Full unit/repository/catalog/strict-site gates are attached after completion. Result: reviewed-with-blockers, retaining source/eligibility/access, broader-lab and human-review limits. No install, persistent service, runtime/authentication/permission change, exam attempt or external message occurred.