// MyClass.h
namespace MyNamespace {
static const double GasConstant = 1.987;
class MyClass
{
// constructors, methods, etc.
};
}
У меня ранее GasConstant был объявлен в объявлении MyClass (и у меня было отдельное определение в исходном файле, поскольку C ++ не поддерживает const
инициализацию нецелых типов). Однако мне нужно получить доступ к нему из других файлов, а также логически кажется, что он должен находиться на уровне пространства имен.
Мои вопросы: какой эффект имеет static const
в этом случае? Ясно, что const
означает, что я не могу присвоить новое значение GasConstant, но что означает статический член в пространстве имен. Это похоже на статическое в области видимости файла, где элемент недоступен за пределами модуля?