Alt text:
Image that says:
HOLY SHIT!! IS THAT A MOTHERF*CKING C++ REFERENCE???
int& a = b;
I’ve used C but never C++. What does it mean for a variable’s type to be
int&
? From when I’ve used it,&
would be used to create a pointer to a variable, but the type of that pointer would beint*
.edit:
never mind, I looked it up. It’s a “reference” instead of a pointer. Similar, but unlike a pointer it doesn’t create a distinct variable in memory of its own.
In my experience, it’s rare to see
int&
in day to day as a regular old lvalue… it essentially just allows you to alias a variable to another name. It’s much more common to see them used in function parameters to leverage pass by reference. In C++ pointers usually aren’t particularly useful compared to just passing things by reference since stack variables get auto-gc’d it’s the preferred style of frameworks like Qt and is extremely easy to use.Here’s a breakdown if you want more information https://en.cppreference.com/w/cpp/language/reference