// Tras mover, un string o un vector es válido, pero su valor no está especificado.
#include <iostream>
#include <string>
#include <utility>
#include <vector>

int main() {
    std::string text = "un texto bastante largo para no caber en el objeto";
    std::string other = std::move(text);
    std::cout << "text.size()=" << text.size() << " other.size()=" << other.size() << "\n";

    text = "de nuevo";
    std::cout << text << "\n";

    std::vector<int> numbers{1, 2, 3};
    std::vector<int> taken = std::move(numbers);
    numbers.clear();
    numbers.push_back(9);
    std::cout << "numbers.size()=" << numbers.size() << " taken.size()=" << taken.size() << "\n";
    return 0;
}
