Visualización de una plantilla de clase y una plantilla de función

Para visualizar una plantilla de clase o una plantilla de función, especifique EVAL template-name en la línea de mandatos de depuración. La variable nombre-plantilla es el nombre de la plantilla de clase o plantilla de función que desea visualizar.

El ejemplo siguiente muestra los resultados de la evaluación de una plantilla de clase. Debe especificar un nombre de plantilla que coincida con el nombre de plantilla demandado. Los nombres de definición de tipo no son válidos porque la información de typedef se elimina cuando se manija el nombre de plantilla.

Figura 1. Utilización de EVAL con una plantilla de clase
      > EVAL XX<int>::a
        XX<int>::= '1 '
      > EVAL XX<inttype>::a
        Identifier not found
      1  template < class A >        //Code evaluated at line 8
      2  class XX {                  //where a breakpoint was set
      3     static A a;
      4     static B b;
      5  };
      6  XX<int> x;
      7  typedef int inttype;
      8  int XX<int>::a =1;          //mangled name a__2XXXTi_
      9  int XX<inttype>::b = 2;     //mangled name b__2XXXTi_

El ejemplo siguiente muestra los resultados de la evaluación de una plantilla de función.

Figura 2. Utilización de EVAL con una plantilla de función
      > EVAL XX<int,12>::sxa
        XX<int,12>::sxa = '1 '
      > EVAL xxobj.xca[0]
        xxobj.xca[0] = '2 '
      1  template < class A, int B>  //Code evaluated at lines 8 and 9
      2  class XX {                  //where breakpoints were set
      3     static A sxa;
      4     char     xca[B];
      5  public:
      6    XX(void) { xca[0] = 2; }
      7  };
      8  XX<int,12> xxobj;
      9  int XX<int,2*6>::sxa =1;
                                     //same as intXX<int,12>::sxa
                                     //mangled name sxa__2XXXTiSP12_