请问这段程序代表什么意思?

#include
using namespace std;
class MyClass
{
public:MyClass()
{cout<<1;}
};
int main(){
MyClass a,b[2],*p=new MyClass,*pp[2];
}

申明类对象需要调用构造函数,代码执行输出四个1,分别表示申明a调用一次构造函数,申明b[2]调用两次构造函数,申明p由于使用了new MyClass手动调用了一次构造函数,申明pp只是申明了指针不调用构造函数