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