有下例程序段:
cosnt int a=123;
const int* pa=&a;
const int*& ra=pa; //ok
const int*& ra=&a; //error
const int* const& ra=&a;//ok
const int*& const ra=&a;//error;
請問各位高手,為什么第三行是對的,第四行卻是錯的?
還有第四行中的ra表示的是什么意思,為什么const要放在&前面?
答:
const int*& ra=&a; //error
const int* const& ra=&a;//ok
★ &a的類型是const int * const
const int*& const ra=&a;//error;
★ const對&的修飾是無效的所以const int*& const等價于const int*&