Jeśli chodzi o konstruktory, dodanie słowa kluczowego explicituniemożliwia entuzjastycznemu kompilatorowi utworzenie obiektu, gdy nie było to pierwszym zamiarem programisty. Czy taki mechanizm jest dostępny również dla operatorów odlewów?
struct Foo
{
operator std::string() const;
};
Tutaj, na przykład, chciałbym móc rzucać Foow a std::string, ale nie chcę, aby takie rzucanie miało miejsce w sposób pośredni.
toString, a nieoperator std::string. Oczywiście może to powodować problemy z niektórymi szablonami. Zawsze używałemtoStringi nigdy nie sprawiało mi to żadnych problemów, ale wyobrażam sobie, że może to zależeć od twojego stylu kodowania.