C++ CPE study guide
C++ CPE · Work through your exam, one topic at a time.
The CPE – C++ Certified Entry-Level Programmer is an entry-level credential offered by the C++ Institute, an independent certification body. It sits at the start of the C++ track, above no prerequisite and below the CPA (Associate) and CPP (Professional) levels. The exam is aimed at people who have begun learning C++ and want a structured, externally validated milestone: students, career changers, and junior developers preparing for their first C++ role. Because the C++ Institute publishes no detailed exam blueprint on its public site, the safest way to understand coverage is to follow the vendor's own course alignment. Topics on this exam: C++ Essentials 1 (CP101 / CPPE1) aligned objectives and C++ Essentials 2 (CPP102 / CPPE2) aligned objectives. The C++ CPE study guide has 2 sections and about 1,025 words.
01C++ Essentials 1 (CP101 / CPPE1): Procedural Fundamentals
The C++ Essentials 1 (CP101 / CPPE1) domain tests procedural C++ fundamentals: the type system and conversions, expression evaluation, control flow, function semantics, arrays, pointers, references, and basic console/string I/O. Questions tend to be short programs or single expressions where one precise rule decides the result, so the mark goes to candidates who can trace conversions and lifetimes rather than guess output. Integral promotions happen before arithmetic: char / short promote to int ; bool promotes to int . The usual arithmetic conversions then find a common type.
521 words, about 3 min02C++ Essentials 2 (CPP102 / CPPE2): Classes, Polymorphism, Templates, and STL
The C++ Essentials 2 (CPP102 / CPPE2) domain tests class-based and generic C++: special member functions, construction/destruction order, inheritance and dynamic polymorphism, operator overloading, exceptions, templates, and core STL usage. Questions often present a small hierarchy or container operation and ask which function runs, which object is copied, or what remains valid afterward. Non-static data members initialize in declaration order, not in the order of the constructor initializer list. The compiler generates copy/move constructors, copy/move assignment, and a destructor when viable; a user-declared destructor or copy operation can suppress implicit move generation.
504 words, about 3 min