Constante literal de tipo personalizado de C ++

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);

Supongo que te gusta

Origin blog.csdn.net/kenfan1647/article/details/114443456
Recomendado
Clasificación