Use move semantics

Use move semantics in C++ — with the four heights of help laid out: do it now, make it easier for the next person to accept, work out the right move when you are stuck, and learn the pattern so it stops coming back.

4prompt heights
Open it in the interactive atlas →

The four heights

The same task, four distances: today's deadline, the next reviewer, the stuck moment, the pattern.

Execute — do the immediate task

+
I am refactoring the resource manager to use move semantics so assets transfer ownership cheaply.…
I am refactoring the resource manager to use move semantics so assets transfer ownership cheaply. Implement move constructor and move assignment for the Texture class so that GPU handles are transferred and the moved-from object is left in a safe, destructible state. Ensure no double-free of the GPU handle and that the move is noexcept where appropriate. Ladder L1

Improve — make it easier to accept

+
Before I change many resource types to be movable, make the change reviewer-friendly. List the…
Before I change many resource types to be movable, make the change reviewer-friendly. List the class invariants that must hold after a move, mark which members should be nulled or reset, show where noexcept must be added for containers to perform moves, and flag code paths that rely on the old copy behavior. Ladder L2

Decide — diagnose the stuck moment

+
I implemented a move constructor for Texture and then std::vector<Texture> began to throw or abort…

I added a move constructor and then a container started throwing during reallocation

I implemented a move constructor for Texture and then std::vector<Texture> began to throw or abort during push_back or reallocation. I suspect my move is not noexcept and containers fall back to copies. I cannot find which invariant is broken during move. What is the most likely reason for the vector behavior and what step-by-step fixes will make moves effective and safe in this codepath? Ladder L5

Become — change the pattern

+
Over multiple projects we lose performance when classes that own heavy OS or GPU handles are copied…

We keep writing classes that copy expensive handles instead of moving them

Over multiple projects we lose performance when classes that own heavy OS or GPU handles are copied instead of moved. Developers either forget to define moves or write moves that are unsafe. Which team-level habit change will reduce these problems: what code patterns, automated checks, or small training exercises should we introduce so ownership-bearing classes are movable, noexcept where possible, and reviewed correctly? Ladder L6

Next to this one

Other programming language work people do in C++.

Every task here came from the work, not from a feature list — which is why the prompts name what you want done and never the button that does it. The tool changes; the work does not.
Copyright © LLOS.ai · 2026 — original pedagogy, voice, and design — all rights reserved.

The rest of the map

Same library, five ways in.