In C++, so che se dichiaro una funzione con statico, nomi esisterà solo per l'unità di compilazione in cui si dichiara/definito:Esiste qualche differenza tra la definizione della funzione statica nello spazio dei nomi anonimo e all'esterno?
static void MyFunction() {...}
Inoltre, se dichiaro la mia funzione all'interno di un namespace anonimo , il suo nome esisterà solo in unità di compilazione locali:
namespace
{
void MyFunction() {...}
}
Inoltre, posso utilizzare statica all'interno del namespace anonimo:
namespace
{
static void MyFunction() {...}
}
C'è qualche differenza tra queste definizioni?
Grazie
http://stackoverflow.com/questions/154469/unnamed-anonymous-namespaces-vs-static-functions – catscradle
@catscradle quasi lo stesso, ma non discutere dell'uso statico all'interno dell'anonimo. – bcsanches