MFC窗口调用DestroyWindow()以后,窗体对应的cpp内的变量中的赋值在下次加载该窗口时依然存在

该问题的窗体由父窗口mainWindow和子窗口childWindow组成。
其中mainWindow、childWindow窗口在工程文件中对应的文件分别为

mainWindow.h mainWindow.cpp(父窗口)

childWindow.h childWindow.cpp(子窗口)

其中子窗口由VS窗口向导创建。
在父窗口中按下按钮,子窗口显示,按下子窗口中按钮,赋值然后子窗口关闭,已经确定
子窗口OnClose()时调用DestroyWindow()并且在PostNcDestroy()确认其hWnd已经=NULL
以下是调用代码。

//父窗口调用子窗口代码如下(mainWindow.cpp)
#include childWindow.h;

//某个方法中
{
      childWindow childWindowDlg;
      childWindowDlg.DoModal();
}


//子窗口变量赋值代码如下(childWindow.cpp)
vector<CString> shipcode;
//然后在某个方法中
{
      int shipSize = shipcode.size();
            //然后这里就是问题所在了,第一次启动该窗口时执行该方法时shipSize为0,将此vector赋值以后(如添加了3个"a""b""c");然后将窗口关闭并且确认调用了DestroyWindow()以后,在父窗口中的子窗口窗口调用代码(就是上面的父窗口的代码)再次被调用然后子窗口创建完成后,再次执行此子窗口的方法,发现shipSize为3也就是上一次子窗口被关闭前该变量被赋的值。
}

请问大家该问题怎么解决,我想每次启动子窗口shipSize都为0,本人MFC学习不多,临时需求要写。因为需求关系不能使用QT,希望大家帮帮忙呀。

DestroyWindow()销毁的是窗口,而不是窗口类,变量当然还在
可以这么写
childWindow * childWindowDlg = new childWindowDlg();
childWindowDlg->DoModal();

这有啥好纠结的,退出时候把vector清空就是了,clear函数