#include <iostream>
#include <typeinfo>
#define PRINT_NAME(x) std::cout << #x << " - " << typeid(x).name() << '\n'
int main( )
{
PRINT_NAME( char ) ;
PRINT_NAME( signed char ) ;
PRINT_NAME( unsigned char ) ;
PRINT_NAME( short ) ;
PRINT_NAME( unsigned short ) ;
PRINT_NAME( int ) ;
PRINT_NAME( unsigned int ) ;
PRINT_NAME( long ) ;
PRINT_NAME( unsigned long ) ;
PRINT_NAME( float ) ;
PRINT_NAME( double ) ;
PRINT_NAME( long double ) ;
PRINT_NAME( char * ) ;
PRINT_NAME( const char * ) ;
//...
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZWluZm8+CgojZGVmaW5lIFBSSU5UX05BTUUoeCkgc3RkOjpjb3V0IDw8ICN4IDw8ICIgLSAiIDw8IHR5cGVpZCh4KS5uYW1lKCkgPDwgJ1xuJwoKaW50IG1haW4oKQp7CiAgICBQUklOVF9OQU1FKGNoYXIpOwogICAgUFJJTlRfTkFNRShzaWduZWQgY2hhcik7CiAgICBQUklOVF9OQU1FKHVuc2lnbmVkIGNoYXIpOwogICAgUFJJTlRfTkFNRShzaG9ydCk7CiAgICBQUklOVF9OQU1FKHVuc2lnbmVkIHNob3J0KTsKICAgIFBSSU5UX05BTUUoaW50KTsKICAgIFBSSU5UX05BTUUodW5zaWduZWQgaW50KTsKICAgIFBSSU5UX05BTUUobG9uZyk7CiAgICBQUklOVF9OQU1FKHVuc2lnbmVkIGxvbmcpOwogICAgUFJJTlRfTkFNRShmbG9hdCk7CiAgICBQUklOVF9OQU1FKGRvdWJsZSk7CiAgICBQUklOVF9OQU1FKGxvbmcgZG91YmxlKTsKICAgIFBSSU5UX05BTUUoY2hhciopOwogICAgUFJJTlRfTkFNRShjb25zdCBjaGFyKik7CiAgICAvLy4uLgp9