C++でもまじめにstd::move()通してればRust並に最適化できるんじゃね?
move後のアクセスをコンパイラが止めないからミスった時に何が起こるか分からんけど