#include <iostream>
#include <utility>

struct Reading {
    int value;
    explicit Reading(int initial) : value{initial} {}
    Reading(const Reading& other) : value{other.value} {
        std::cout << "copy\n";
    }
    Reading(Reading&& other) : value{other.value} {
        std::cout << "move\n";
    }
};

int main() {
    const Reading original{4};
    Reading result{std::move(original)};
    std::cout << original.value << ' ' << result.value << '\n';
    return 0;
}
