En un GoogleTechTalks video on Youtube, Bjarne Stroustrup habla sobre el próximo estándar C++ 0x. En el video se menciona el siguiente ejemplo:¿Este ejemplo del uso de la palabra clave "explícita" de C++ es correcto?
#include <iostream>
struct Sick
{
Sick(double d) { std::cout << d << "\n"; }
explicit Sick(int i) { std::cout << i << "\n"; }
};
int main()
{
Sick s1 = 2.1;
Sick s2(2.1);
}
¿Se refería a colocar la palabra clave antes de explicit
Sick(double)
en lugar de Sick(int)
, con el fin de poner de relieve los problemas asociados con las conversiones implícitas en ciertos contextos?
¿Cómo se supone que debemos saber qué quiere decir alguien en un video de youtube? Lo importante es que * usted * entiende el uso de 'explicit' en este ejemplo. –
Cualquiera de los dos sería razonable, dependiendo de lo que quiera mostrar con el ejemplo. – Flexo
@Kerrek SB, se supone que debes saber a qué se refería porque está tratando de comunicar lo que quiso decir. – ikegami