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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Boxer007
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 11
#1

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

15.10.2013, 00:01. Просмотров 801. Ответов 2
Метки нет (Все метки)

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
15.10.2013, 00:13     зачем в с++ писать в объявление функции const ? #3
Функция член класса в таком случае является константной, в ней нельзя менять состояние объекта (кроме mutable членов класса).
Внутри константных функций разреено вызывать другие константные функции.

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru