    #include <iostream>

    int fValue(int i) {
        i = 10;
    }

    int fRef(int& i) {
        i = 42;
    }

    int main() {
        int i = 1;
        std::cout << "main:i=" << i << "\n";
        fValue(i);
        std::cout << "after fValue i=" << i << "\n";  // unchanged
        fRef(i);
        std::cout << "after fRef i=" << i << "\n";  // prints 42
    }
