One rule
A reference means: this object must exist. A pointer means: this object may be missing, shared by address, or changed to point elsewhere.
Use the stricter option first. If a function does not need null, take a reference, not a pointer.
Why it matters
Many C++ bugs in student projects are not syntax bugs. They are lifetime bugs. You keep an address after the real object is gone, then the program behaves strangely.
Your repo should show that you know when data lives, who owns it, and whether a function can receive nothing.