"автоматическая" разница между указателями и ссылками
Учитывая этот код:
int& some_class::ret_ref(){
return this->some_integer;
}
int* some_class::ret_ptr(){
return &(this->some_integer);
}
int main(){
some_class c;
auto p=c.ret_ptr();
auto r=c.ret_ref();
}
Во время компиляции:
p
являетсяint*
r
являетсяint
Почему auto
выводится как int*
в p
и это не было выведено как int&
в r
?
Какое правило здесь?