Форум программистов, компьютерный форум CyberForum.ru

зачем в с++ писать в объявление функции const ? - C++

Восстановить пароль Регистрация
 
Boxer007
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 11
15.10.2013, 00:01     зачем в с++ писать в объявление функции const ? #1
C++
1
2
3
Доброго времени суток.
Ответе на мой вопрос пожалуйста зачем в с++ писать в объявление функции [B][U][I][COLOR="Red"]const[/COLOR][/I][/U][/B] ?
Пример : [SIZE="4"]string MyFunc() const;[/SIZE][CPP]
[/CPP]

Добавлено через 1 минуту
Доброго времени суток.
Ответе на мой вопрос пожалуйста зачем в с++ писать в объявление функции const ?
Пример : string MyFunc() const
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 00:01     зачем в с++ писать в объявление функции const ?
Посмотрите здесь:

C++ зачем часто писать std:: если можно один раз using namespace std?
Зачем нужен const при перегрузке оператора C++
C++ Зачем нужны библиоткки Длл и как их писать
Зачем нужно опережающее объявление класса в заголовке? C++
const char *[] в функции C++
C++ const& и const* в имени функции
C++ int const * const foo(const int* param) const - разъясните значение квалификаторов
Как грамотней писать объявление указателя? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tzeentch
 Аватар для tzeentch
25 / 25 / 2
Регистрация: 13.04.2013
Сообщений: 79
15.10.2013, 00:10     зачем в с++ писать в объявление функции const ? #2
В обьявлении функции писать const нельзя.
Можно писать const в обьявлении метода:

C++
1
2
3
4
5
6
class Foo {
    int _x;
  public:
    int getX() const { return _x; }
    void setX(int i) { _x = i; }
};
Для того, чтобы показать, что метод не меняет обьект, и чтобы можно было вызывать этот метод у обьектов-констант, например:

C++
1
2
3
4
5
void f() {
  const Foo obj;
  obj.setX( 10 ); // Ошибка, метод setX не константный.
  cout << obj.getX();  // Норм, get() обьявлен как const
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,890
Записей в блоге: 2
Завершенные тесты: 1
15.10.2013, 00:13     зачем в с++ писать в объявление функции const ? #3
Функция член класса в таком случае является константной, в ней нельзя менять состояние объекта (кроме mutable членов класса).
Внутри константных функций разреено вызывать другие константные функции.

Для константных объектов разрешен вызов консантных методов.
Yandex
Объявления
15.10.2013, 00:13     зачем в с++ писать в объявление функции const ?
Ответ Создать тему
Опции темы

Текущее время: 17:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru