C++中定义全局指针的问题

自定义一个类A,想声明一个全局的A指针。下边这种做法问题在哪?
在res.h中声明
extern A *a;

在res.cpp中
A *a= new A();

这样做问题在哪?求教大神

这里是不是应该这样:

 A *a= &(new A());
 A *a= NULL;
a = new A();

这样好一点

试了一下,这样用是没有问题的,全局变量处理的时间点比程序运行要早

刚刚新建了一个项目测试了一下,必须有一个文件中声明时需要这样:

 extern A *a = NULL;

其它文件中用就是:

 extern A *a;

就可以了。

在res.cpp中
a= new A();

楼主的code编译过程中,编译器会报错,错误应该是重复定义,原因就是,全局变量已经定义了A *a,局部变量定义A*a时会报错。
res.hpp中
extern A *a;
在res.cpp中
a= new A();