例1.合法
</pre><p></p><p></p><pre code_snippet_id="1895342" snippet_file_name="blog_20160922_2_4663838" name="code" class="cpp">double ival=2.01;
int ival1=ival;
例2.不合法
int ival1=2.01;
例3.不合法
const int ival1=2.01;
例4.合法
double ival=2.01;
const int ival1=ival;
例5.合法(tricky)
double ival=2.01;
const int &valRef=ival;
例6.不合法
double ival=2.01;
int &valRef=ival;
例7.不合法
int i=0;
double j=0;
int &Rint = j;
double &Rdouble=i;
int i=1,&r1=i;
double d=1.001,&r2=d;
r1=d;
r2=i;
int i=0,&r1=i;
double d=0,&r2=d;
r2=3.15;//合法
r2=r1;//合法,tricky于例7,例8
i=r2;//合法,类似于例1
r1=d;//合法,类似于例1