ちょっと質問なんですが、
#include <iostream>
class A {
public:
int& test;
A(int& a):test(a){};
};

int main(int argc, char *argv[]){
A *p;
{
int c = 1;
p = new A(c);
std::cout << p->test << std::endl;
}
std::cout << p->test << std::endl;

return 0;
}
2回目のp->testは安全ですか?
一応大丈夫みたいなんですが。