Я просмотрел все соответствующие вопросы о безымянных пространствах имен, но не могу понять, можно ли их использовать для замены static
переменная в этом контексте:
returnType dummyfun () {
static int staticInt;
// do something...
};
Неназванное пространство имен нельзя использовать для замены внутренней статической переменной.
Безымянные пространства имен объявляются вне области действия функции. Они полезны, чтобы разрешить доступ к именам функций и переменных в модуле перевода, скрывая эти же имена за пределами модуля перевода.
Внутренняя статическая переменная — это переменная, имя которой доступно только в области действия функции, в которой она объявлена, и степень которой сохраняется между вызовами функции.