Architecture Diagram
ARRAY PASSING METHODS:
┌─────────────────────────┬───────────────────────────────────────────┐
│ Method │ Characteristics │
├─────────────────────────┼───────────────────────────────────────────┤
│ 1. Pointer + Size │ void f(const int* arr, size_t len) │
│ 2. Array Reference (&) │ template void f(int (&arr)[N]) │
│ 3. const std::vector&│ Safe, heap-allocated, knows size │
│ 4. std::span (C++20) │ Zero-overhead view over any array/vector │
└─────────────────────────┴───────────────────────────────────────────┘