¿Cómo imprime C++ tipos de variables e imprime tipos de parámetros? typeid().nombre()

Directorio de artículos


En C++, puede usar typeid el operador para obtener información de tipo sobre una expresión. Específicamente, puede usar typeid(expression) para obtener expression la información de tipo de , y el valor devuelto es un objeto de std::type_info tipo , y puede name() obtener el nombre del tipo a través de su función miembro.

Por ejemplo, el siguiente código muestra cómo imprimir los tipos de parámetros de una función:

#include <iostream>
#include <typeinfo>

void foo(int x, double y, const char* z) {
    
    
    std::cout << "x: " << typeid(x).name() << std::endl;
    std::cout << "y: " << typeid(y).name() << std::endl;
    std::cout << "z: " << typeid(z).name() << std::endl;
}

int main() {
    
    
    foo(42, 3.14, "hello");
    return 0;
}

La salida es:

x: i
y: d
z: PKc

Entre ellos, isignifica inttipo, dsignifica doubletipo, PKcsignifica const char*tipo. Cabe señalar que typeidel nombre de tipo devuelto puede ser específico del compilador, y diferentes compiladores pueden tener diferentes implementaciones.

Supongo que te gusta

Origin blog.csdn.net/Dontla/article/details/130457108
Recomendado
Clasificación