用using namespace std; 为什么会有内存泄漏?解决思路

用using namespace std; 为什么会有内存泄漏?
#include   <crtdbg.h>
#include   "iostream "                     //
using   namespace   std;                       //#include   <iostream.h>
void   main()
{
_CrtDumpMemoryLeaks();
}

//Debug   Info:
Detected   memory   leaks!
Dumping   objects   ->
{46}   normal   block   at   0x00371068,   33   bytes   long.
  Data:   <   C                             >   00   43   00   CD   CD   CD   CD   CD   CD   CD   CD   CD   CD   CD   CD   CD  
{45}   normal   block   at   0x00371000,   40   bytes   long.
  Data:   <     C                           >   EC   11   43   00   16   00   00   00   00   00   00   00   00   00   00   00  
Object   dump   complete.


而且如果main函数中进行了内存的操作,内存泄漏更多。如下:


void   main()
{
int   n   =   10;
int   num;
cin> > num;
int   *p   =   new   int[sizeof(int)*num];
int   *q   =   p;
p   =   &n;
delete   q;
q   =   NULL;
_CrtDumpMemoryLeaks();
}


//Debug   Info:
Detected   memory   leaks!
Dumping   objects   ->
{69}   normal   block   at   0x00372BE0,   5   bytes   long.
  Data:   <true   >   74   72   75   65   00  
{68}   normal   block   at   0x00372B98,   6   bytes   long.
  Data:   <false   >   66   61   6C   73   65   00  
{67}   normal   block   at   0x00372B50,   1   bytes   long.
  Data:   <   >   00  
{62}   normal   block   at   0x003727A8,   24   bytes   long.
  Data:   <     F           P+7   .       >   F8   F2   46   00   01   00   00   00   50   2B   37   00   2E   00   CD   CD  
{56}   normal   block   at   0x00372760,   8   bytes   long.
  Data:   <     F           >   A8   F2   46   00   01   00   00   00  
{53}   normal   block   at   0x00372838,   512   bytes   long.
  Data:   <                                 >   20   00   20   00   20   00   20   00   20   00   20   00   20   00   20   00  
{48}   normal   block   at   0x003710D0,   24   bytes   long.
  Data:   <T   F                           >   54   F2   46   00   01   00   00   00   00   00   00   00   00   00   00   00