Skip to main content

lvalues & rvalues + Move Semantics & rvalue References

Some of the following are super obvious logically, but listing them for completeness.

  • ✓ lvalue = lvalue / rvalue
  • ✕ rvalue = lvalue / rvalue
  • ✓ lvalue reference = lvalue
  • ✕ lvalue reference = rvalue
  • ✓ const lvalue reference = lvalue / rvalue
  • ✓ rvalue reference = rvalue
  • std::move(lvalue) will be rvalue