#include<iostream>
#include<typeinfo>
using namespace std;
int main(){
int *p=new int[10];
int arr[10];
for(int i=0;i<10;i++) p[i]=i;
cout<<typeid(p).name()<<endl<<typeid(arr).name();
}
Pi
A10_i
--------------------------------
具体输出根据编译器而异
PS.这也是为什么C++11里的auto可以遍历静态数组而不可以动态数组,编译器不知道p的长度(感谢某位匿名的知乎网友)
但是*arr也指向arr[0],arr传递给编译器的也是指向数组第一个元素的指针,这点和p同