Architecture Diagram
PARAMETER PASSING COMPARISON:
┌─────────────────┬──────────────────┬──────────────────┬─────────────────────────────┐
│ Mechanism │ Syntax │ Copies Data? │ Nullable / Rebindable? │
├─────────────────┼──────────────────┼──────────────────┼─────────────────────────────┤
│ Pass by Value │ void f(int x) │ YES (New copy) │ Independent local copy │
│ Pass by Ref │ void f(int& x) │ NO (Alias) │ Never NULL, cannot rebind │
│ Const Ref │ void f(const T&) │ NO (Read-only) │ Fast, safe for large objects│
│ Pass by Pointer │ void f(int* x) │ NO (Copies addr) │ Can be nullptr, rebindable │
└─────────────────┴──────────────────┴──────────────────┴─────────────────────────────┘