这样写没释放(或删除)指针有危险吗?该怎么解决

这样写没释放(或删除)指针有危险吗?
void   CReadline0Dlg::OnExample()
{
CDialog*   examdlg;
examdlg=new   CDialog;
examdlg-> Create(IDD_EXAMPLE,this);
examdlg-> ShowWindow(SW_SHOW);
}


如果有危险的话应该如何做而又保证对话框能正常显示?

------解决方案--------------------
在CReadline0Dlg中,定义一个成员变量:
CDialog* m_pExamDlg;

然后在CReadline0Dlg的构造函数中初始化:
m_pExamDlg = NULL;

void CReadline0Dlg::OnExample()
{
if (m_pExamDlg != NULL)
{
m_pExamDlg=new CDialog;
m_pExamDlg-> Create(IDD_EXAMPLE,this);
}
examdlg-> ShowWindow(SW_SHOW);
}

最后在CReadline0Dlg的析构函数中销毁:
if (m_pExamDlg != NULL)
{
delete m_pExamDlg;
m_pExamDlg = NULL;
}