Binds a reference to an object.
Syntax
T & ref = object ; T & ref = { arg1, arg2, ... };
T & ref ( object ) ;
T & ref { arg1, arg2, ... } ;
(1) T && ref = object ; T && ref = { arg1, arg2, ... };
T && ref ( object ) ;
T && ref { arg1, arg2, ... } ;
(2) (since C++11) given R fn ( T & arg ); or R fn ( T && arg ); fn ( object ).
fn ( { arg1, arg2, ... } ).
(3) given T & fn () { or T && fn () { retur