Программирование на C и C++

Онлайн справочник программиста на C и C++

Функции-члены const и volatile

Функции-члены могут быть объявлены как const, volatile или и то и другое одновременно. Имеет­ся несколько правил. Объекты, объявленные как volatile, могут вызывать только функции-члены, также объявленные как volatile. Объект const не может вызывать функцию-член, которая не явля­ется const. Тем не менее, функция-член const может быть вызвана любым объектом. Функция-член const не может модифицировать объект, который ее вызвал. Эти правила действуют совместно для функций, которые являются одновременно const и volatile.

Для объявления функций-членов как const и volatile используется форма, показанная в следую­щем примере:

class X {
public:
int f1() const; // функция-член с модификатором const
void f2 (int a) volatile; // функция-член с модификатором volatile
char *f3() const volatile; // функция-член с модификаторами const volatile
};