void foo(const map<string, string> & aBigTable)
{
static map<string, string> cache_big_table = aBigTable;
/* ... */
}
Что правда что присваивание будет выполнено только один раз, при первом вызове функции, а в последующие не будет ???
Кажись да....
А вот в таком варианте каждый раз будет присваиватся:
void foo(const map<string, string> & aBigTable)
{
static map<string, string> cache_big_table;
cache_big_table = aBigTable;
/* ... */
}
Хитро... Ух ты :)