A C++ feature that enables a developer to write code that transfers resources (such as dynamically allocated memory) from one object to another by enabling resources to be transferred from temporary objects that cannot be referenced elsewhere in the program.