¿Cuál es la forma más rápida de convertir hexadecimal a entero en C ++?

Estoy tratando de convertir un maleficiochar para enterar lo más rápido posible.

Esta es solo una línea:int x = atoi(hex.c_str);

¿Hay una manera mas rápida?

Aquí, he intentado un enfoque más dinámico, y es un poco más rápido.

int hextoint(char number) {
    if (number == '0') {
        return 0;
    }
    if (number == '1') {
        return 1;
    }
    if (number == '2') {
        return 2;
    }
    /*
     *  3 through 8
     */
    if (number == '9') {
        return 9;
    }
    if (number == 'a') {
        return 10;
    }
    if (number == 'b') {
        return 11;
    }
    if (number == 'c') {
        return 12;
    }
    if (number == 'd') {
        return 13;
    }
    if (number == 'e') {
        return 14;
    }
    if (number == 'f') {
        return 15;
    }
    return -1;
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta