int i = 888 ;
El compilador convertirá el número 888 en un objeto int. También puede hacer esto para tipos personalizados:
#define debug qDebug()<<
struct ceshi
{
int frist;
int second;
ceshi(int one = 0,int two = 0):frist{one},second{two}
{
}
};
ceshi operator"" _xxx(long double f)
{
return ceshi(f,88);
}
int main(int argc, char *argv[])
{
ceshi f = 44.4_xxx;
debug f.frist << f.second;
}
El símbolo que comienza con un guión bajo después del operador "" se utiliza como operador constante literal de tipo personalizado. Debe comenzar con un guión bajo, y los que no comienzan con un guión bajo están reservados para su uso en la biblioteca estándar y admiten los siguientes tipos de parámetros:
operator "" identifier (const char *);
operator "" identifier (unsigned long long int);
operator "" identifier (long double);
operator "" identifier (char);
operator "" identifier (const char*, std::size_t);