为什么一个const属性的返回值可以用 非const 型来接受呢?

const int func() { int j = 8; return j; } int main() {int i = 5 ;i = func(); }
为什么可以翻译通过呢?

const int func()
说明函数func()的返回值是一个常数,不想让对象再次被修改,因为const一定是先被初始化的
而在主函数中的:i = func(),只能说明是将一个常数值赋值给一个变量,很正常啊!!!

还不懂的话,可以看看这个:http://blog.csdn.net/msdnwolaile/article/details/50049173

由于有const修饰,返回值为整型常量,整型常量还是整型,所以赋值给一个整型变量没问题