I often see statements like below in C++ books regarding reference:
Reference is just another name of the original object. When it is used, it is replaced by the original object (in most cases).
Here is the question: If I bind a const ref to a non-const object, when this const ref being used and replaced by the original object, does the const-ness goes away?
int i = 42;
const int & r1 = i;
int & r2 = r1; // Question: shouldn't r1 here just be replaced by the original object, which is **non-const**?