Когда я использую 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
?