Re[2]: const и функции
От: Аноним  
Дата: 21.04.05 05:23
Оценка: -1
Здравствуйте, Lorenzo_LAMAS, Вы писали:

I>>1. Можно ли объявлять глобальную функцию (не член класса) как "int g(void) const". Думается что нет, т.к. не вижу смысла. Если да, то что это значит?


L_L>Нет, нельзя. Так же как и статическую функцию-член класса нельзя.


Статическую функцию член класса ещё как можно создавать.

class A
{
public:
     static int sfuncA()
     {
         return 3; // всё в порядке
         return i_; // а вот тут ошибка компилятора, т.к. статическая функция класса не имеет доступа к переменным и к this.
     }
private:
     int i_;
}

A * a = NULL;
int b = a->sfuncA(); // ошибки нет, даже с учётом того, что указатель NULL;


Обычно статическая функция создаётся для запуста нового потока, и в качестве поточной функции используется статическая функция

static int MyClass::start(MyClass * object);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.