Когда уместно использовать статический (поверх безымянных пространств имен) в C ++?

Я целый день читал статьи о безымянных пространствах имен, в большинстве статей объяснялось, когда следует использовать безымянные пространства имен вместо ключевого слова static. Но у меня все еще остается один большой вопрос, когда уместно использовать статику? В конце концов, он не полностью устарел, а как насчет файлов заголовков со статическими функциями, следует ли мне теперь помещать их в безымянные пространства имен?

#ifndef HEADER_H
#define HEADER_H

static int func() {
  ...
}

// versus:

namespace {
  int func() {
    ...
  }
};

#endif // HEADER_H 

Или как насчет статических функций-членов?

Приветствую

7
задан Dummy00001 8 October 2010 в 14:07
поделиться