C++ references are an alternative to pointers, providing a way to create an alias for an existing variable, which is useful for parameter passing and avoiding unnecessary copying of data. Unlike pointers, references must be initialized when they are declared and cannot be changed to reference another object later.