Quindi, mentre ho fatto alcune lunghe compilazioni, ho deciso di fare il test generale C ++ su ODesk e ho trovato questa domanda.
Se non sbaglio, data la formulazione (o la mancanza di ciò), tutto ciò potrebbe essere vero.
un.
int Foo() { }
int Foo(int bar) { }
b.
Bene, return void;
sarebbe semanticamente errato ma le funzioni possono ovviamente avere void
tipi di ritorno.
void Foo() { }
c. Questa è la definizione di funzioni incorporate, sì.
d. Senza entrare nei dettagli sul posizionamento dei seguenti elementi,
typedef void (*Func)(int);
Func functions[2];
void Foo(int bar) { }
void Bar(int foo) { }
functions[0] = &Foo;
functions[1] = &Bar;
Inoltre, puoi sempre farlo usando lambda e funzioni .
e.
void Foo(int& bar)
{
++bar;
}
int foobar = 5;
Foo(foobar);
f.
int bar = 5;
int& GetBar()
{
return bar;
}
GetBar() = 6;
g.
int bar = 5;
int* GetBar()
{
return &bar;
}
(*GetBar()) = 5;
Non riesco a vedere dove questa domanda abbia delle risposte veramente false . Mi sto perdendo qualcosa?
Inutile dire che ho finito il tempo e ho fallito tutto. Immagino di essere un cattivo programmatore C ++. :(