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.
> 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.
> 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_