#include <iostream>
#include <string>
#include <utility>
#include <vector>

struct Batch {
    std::string name;
    std::vector<int> readings;
};

int main() {
    Batch a{"red", {2, 5}};
    Batch b{a};
    b.name[0] = 'b';
    b.readings[0] = 9;
    std::cout << a.name << ' ' << a.readings[0] << '\n';
    std::cout << b.name << ' ' << b.readings[0] << '\n';
    Batch c{std::move(b)};
    std::cout << c.name << ' ' << c.readings[0] << '\n';
    b = Batch{"new", {7}};
    std::cout << b.name << ' ' << b.readings[0] << '\n';
    return 0;
}
