In uno GoogleTechTalks video on Youtube, Bjarne Stroustrup parla dell'imminente standard C++ 0x. Nel video egli cita il seguente esempio:Questo esempio dell'uso della parola chiave 'esplicita' C++ è corretto?
#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);
}
voleva dire di mettere la parola explicit
prima Sick(double)
piuttosto che Sick(int)
, al fine di evidenziare i problemi connessi con le conversioni implicite in determinati contesti?
Come dovremmo sapere cosa significava qualcuno in un video di YouTube? La cosa importante è che * tu * capisci l'uso di 'explicit' in questo esempio. –
Entrambi sarebbero ragionevoli, a seconda di ciò che si desidera mostrare con l'esempio. – Flexo
@Kerrek SB, Supponiamo di sapere cosa volesse dire perché sta cercando di comunicare cosa voleva dire. – ikegami