Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

const и функции в с++

20K
29 октября 2008 года
Nem
10 / / 21.02.2007
Если при объявлении функции написать что-то типа этого:
 
Код:
int const myFunction() {.....};
то что будет означать этот const?
C Builder 6 ошибку не выдает и все отлично компилируется. Может есть у кого ссылка на документацию?
29K
30 октября 2008 года
indivisible_int
18 / / 02.02.2008
[FONT="Arial"][SIZE="2"]VC 2008 тоже не ругается. Он пишет, что int const fn() эквивалентно const int fn(). Если функция возвращает значение обьекта, то данное обьявление не имеет смысла. Но зато если мы напишем int const &fn(...), а потом fn(...)=7, то компилятор выдаст ошибку(возвращаем адрес константного обьекта, а попытка записи по этому адресу,конечно, обламывается)
О пользе такого рода функций написано непосредственно у Б. Страуструпа, "Введение в язык С++":
Цитата:
"Заметьте, что const изменяет тип, то есть ограничивает способ использования объекта, вместо того, чтобы задавать способ размещения константы. Поэтому например вполне разумно, а иногда и полезно, описывать функцию как возвращающую const:
const char* peek(int i)
{
return private;
}

Функцию вроде этой можно было бы использовать для того, чтобы давать кому-нибудь читать строку, которая не может быть затерта или переписана (этим кем-то). "



[/SIZE][/FONT]

307
31 октября 2008 года
Artem_3A
863 / / 11.04.2008
Как уже говорил товарищ грин это значит const int, а именно то что данная функция возвращает константное целочисленное значение.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог