Почему нет понятия «const -правильности» для статических функций-членов class& #39;s?

Вариант использования:

class A {
  static int s_common;
public:
  static int getCommon () const { s_common; };
};

Обычно это приводит к ошибке как:

ошибка :статическая функция-член 'static int A ::getCommon ()' не может иметь cv -квалификатор

Это связано с тем, что constness применяется только к объекту, на который указывает this, который отсутствует в функции-члене static.

Однако, если бы это было разрешено, "константность" функции-члена staticмогла бы быть легко связана с элементами данных static.
Почему этой функции нет в C++; любая логическая причина позади этого?

11
задан Michael Anderson 11 April 2012 в 06:16
поделиться