Когда я использую auto для вывода типа указателя, я обнаружил странное явление. Мой код выглядит следующим образом:
#include <iostream>
using namespace std;
int main()
{
int i = 100;
auto p1 = &i;
auto *p2 = &i;
cout << *p1 << " " << *p2 << endl;
return 0;
}
После компиляции и выполнения мы можем обнаружить, что результат *p1 и *p2 одинаковый, оба 100. Это означает, что p1 и p2 являются объектами-указателями, которые указывают на int объект.
[[email protected] ~]$ ./test
100 100
Есть ли разница между этими двумя утверждениями, которые определяют p1 и p2?