Roundup
The honest part first, because C++ roundups almost never lead with it: there is no C++ coding benchmark. Nobody publishes a "C++ score." The number everyone quotes for real-world coding — SWE-bench Verified — is built from real Python repositories, so a top score there is a strong proxy for Python and a reasonable general signal for how a model reasons about real code, but it says nothing C++-specific. Anyone showing you a "C++ ranking" invented it. So read this as informed guidance, not a verdict, with the instruction we'll keep repeating: test the shortlist on your own repo.
Why the Python board still helps: general reasoning transfers, and C++ demands it in large quantities. A model that reasons carefully about ownership, control flow, and multi-file structure is doing exactly the thinking C++ punishes you for skipping. So the board is a good filter for the shortlist — just never mistake it for a C++ ranking.
Why C++ is the highest-stakes language for a model
C++ is unforgiving in a way most languages aren't, because the failure mode is undefined behavior, not a clean error. A use-after-free, a dangling reference, a data race, an out-of-bounds write — these don't reliably crash; they corrupt, sometimes only under load or only in release builds. A model that writes plausible-looking C++ can hand you code that passes every test and harbors a UB landmine. On top of that, C++ is enormous: raw versus smart pointers versus references, move semantics, RAII, templates and their cryptic errors, and the version spread from C++11 to C++20/23 features, all coexisting in real codebases. And the build system — CMake, headers, linker errors — is its own reasoning problem. This is the language where reasoning ceiling and skepticism both matter most.
| Model | SWE (general proxy) | $ /M in/out | Speed tok/s | Why it matters for C++ |
|---|---|---|---|---|
| 95.0 | 10 / 50 | 67 | Top ceiling for UB-sensitive, template-heavy work | |
| 88.6 | 5 / 25 | 60 | Best default; disciplined about memory and RAII | |
| 80.6 | — | — | Strong all-rounder, good with CMake/toolchain | |
| 75.6 | 2 / 12 | 147 | Strong self-contained reasoning (LCB 88.5) | |
| 77.6 | 0.435 / 0.87 | — | Cheap open-weight; verify hard against sanitizers |
These are general coding numbers, not C++ scores — no such score exists. Read the column as "how well does this model reason about real code," then let your sanitizers and your repo deliver the actual verdict.
Our top pick: Claude Opus 4.8, Fable 5 for the dangerous parts
C++ is the language where paying for reasoning ceiling is easiest to justify, because a shallow answer can cost you a week of chasing a corruption bug. Opus 4.8 (88.6 general) is the safe default — in our use it's genuinely disciplined about ownership, prefers smart pointers and RAII over raw memory management, and reasons about lifetimes before writing rather than after. For the truly dangerous work — template metaprogramming, a lock-free data structure, an ownership model spanning subsystems, anything near UB — Claude Fable 5 (95.0) is the ceiling worth its $10/$50. When the alternative is undefined behavior in production, the most expensive model is the cheap option.
The value picks, with a warning
Routine C++ exists — another method on a class, a straightforward algorithm, well-trodden patterns — and there the value tier is usable. GPT-5.5 is the strongest single all-rounder and is comfortable with CMake and the toolchain. Gemini 3.1 Pro brings strong self-contained reasoning (LCB 88.5) for the algorithmic pieces. DeepSeek V4 Pro ($0.435/$0.87, open-weight) is cheap for routine work. But the warning is sharper in C++ than anywhere: cheaper models are more likely to emit subtly unsound memory code, so anything from the value tier must be run under AddressSanitizer, UBSan, and your test suite before you trust it. In C++, "it compiled and passed a quick test" is not evidence of correctness.
Picks by what you're building
- Memory-sensitive or template-heavy code. Ceiling wins hard. Opus 4.8 default; Fable 5 for the truly dangerous.
- Concurrency and lock-free structures. Fable 5 or Opus 4.8 — data races are UB, and weak reasoning writes them.
- Routine class methods and algorithms. GPT-5.5 or DeepSeek V4 Pro, verified under sanitizers.
- Self-contained algorithmic work. Gemini 3.1 Pro's puzzle strength fits.
How to actually test it on your stack
C++ gives you brutal graders — use them. Pick one real task — a real memory bug, a real template puzzle, a real refactor — and hand the same decision-complete task to two or three candidates with the same files in scope; our prompt engineering guide covers writing it fairly. Then judge on the criteria that actually matter in C++: does it build cleanly, pass under AddressSanitizer and UBSan, use modern RAII rather than raw new/delete, and match your C++ standard? Repeat on a second task. Bringing your own API keys makes this cheap — swap the model, rerun, pay only for tokens.
Our honest bottom line for C++
Want one model? Opus 4.8, reaching for Fable 5 whenever memory safety, templates, or concurrency get genuinely hard — C++ is the language where the top ceiling pays for itself fastest. Use the value tier only for routine work, and never trust it without sanitizers. A model-agnostic setup like The Vibe Father lets you run several models against the same task and pick the winner, which pairs well with a C++ discipline of always verifying under the sanitizers regardless of which model wrote the code. For the wider view see the best coding model of 2026; for the safer systems language, the best AI model for Rust; and for split workflows, the best model for each agent role. Live numbers are always at /benchmarks.