|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
22.02.2009, 18:01 | #1 |
Регистрация: 22.02.2009
Сообщений: 4
|
Фрагмент кода С++
Парни, я не могу понять, зачем в этом коде, после указания в скобках аргументов записан тип const?
Код:
Модератор: тег CODE Последний раз редактировалось MaTBeu; 22.02.2009 в 20:26. |
22.02.2009, 18:18 | #2 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Модификатор const после заголовка функции показывает что эта функция не будет менять никаких переменных-членов. Если вы вдруг (случайно) измените какую-нибудь переменную-член класса, компилятор выдаст сообщение об ошибке
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
22.02.2009, 18:22 | #3 |
Пользователь
Регистрация: 27.07.2008
Сообщений: 30
|
вообще const ставится для того что бы ф-я могла оперировать константными данными.
Обычным ф-ям компилятор не разрешит передовать константы. почитай в нэте про "константные функции" все станет ясно =) |
22.02.2009, 18:25 | #4 |
Регистрация: 22.02.2009
Сообщений: 4
|
Спасибо огромное !!!!
|
22.02.2009, 18:34 | #5 | |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Цитата:
bool operator()(const int id1, const int id2) const И этот модификатор нужен для того, что я написал постом выше, а не для того, чтобы передать константу в функцию
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
|
22.02.2009, 18:52 | #6 |
Пользователь
Регистрация: 27.07.2008
Сообщений: 30
|
вообще-то некоторые компиляторы не разрешают передавать константы в обычные ф-ии, а только в константные(чтоб знать что ф-я уже точно ничего не изменит)
|
22.02.2009, 19:25 | #7 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Как уже выше сказали, const указывает, что метод не меняет состояние объекта. Соответственно его можно вызывать для константных объектов и не нужно будет в случае чего заморачиваться с const_cast. Для всех get-методов рекомендуется указывать этот самый const.
Вот что будет, если не указать данный const: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация кода | [Smarik] | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 20.08.2008 15:00 |
Word не заменяет выделенный фрагмент | Romanbl4 | Microsoft Office Word | 3 | 01.08.2008 07:36 |
Выдернуть куски кода из html-кода | trafbite | Помощь студентам | 7 | 18.08.2007 13:51 |
Розбор кода? | KAMASUTR | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 10.08.2007 10:56 |