const и функции
От: Ignoramus  
Дата: 20.04.05 09:16
Оценка:
У Страуструпа нашел только такое применение const с функциями:

[code]
class A
{
...
public:
int f(void) const;
};
[/ccode]

что означает что функция f не может менять данные члены класса А. (Кстати, насколько я понимаю также не может вызывать не-const методы вложенных классов, однако может вызывать не-const методы классов, вложенных через указатель. Правильно?)

интересуют такие вопросы:

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

2. Можно ли объявлять функцию или метод как "const int g(void)"? Т.е. может ли функция возвращать константный объект? В каких случаях это может применяться?

3. Если 2, то возможна ли комбинированная конструкция const int g(void) const?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.