Мне нужно определить некоторые константные строки, которые будут использоваться только одним классом. Похоже, у меня есть три варианта:
-
Вставить строки непосредственно в места, где они используются.
-
Определите их как частные статические константные члены класса:
(После форматирования кода после ошибок перечислены ошибки.)
//A.h
class A {
private:
static const std::string f1;
static const std::string f2;
static const std::string f3;
};
//A.cpp
const std::string f1 = "filename1";
const std::string f2 = "filename2";
const std::string f3 = "filename3";
//strings are used in this file
- Определите их в анонимном пространстве имен в файле cpp:
(После форматирования кода после ошибок перечислены ошибки.)
//A.cpp
namespace {
const std::string f1 = "filename1";
const std::string f2 = "filename2";
const std::string f3 = "filename3";
}
//strings are used in this file
Учитывая эти варианты, которые вы бы порекомендовали и почему? Спасибо.