C++ Operadores de conversión


Ejemplo

Puede sobrecargar los operadores de tipo, de modo que su tipo pueda convertirse implícitamente en el tipo especificado.

El operador de conversión debe estar definido en una class / struct :

operator T() const { /* return something */ }

Nota: el operador es const para permitir la conversión de objetos const .

Ejemplo:

struct Text
{
    std::string text;

    // Now Text can be implicitly converted into a const char*
    /*explicit*/ operator const char*() const { return text.data(); }
    // ^^^^^^^
    // to disable implicit conversion
};

Text t;
t.text = "Hello world!";

//Ok
const char* copyoftext = t;