![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Дрон |
|
||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
Пусть есть class abc.
В чём разница между
и
Что даёт модификатор const? -------------------- Да. Именно так. |
||||
|
|||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
в первом случае ф-ции передаётся константый указатель на обьект класса abc.
|
|||
|
||||
| RAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Он гарантирует, что то, на что указывает t, не будет изменено в функции. То есть это чисто входной параметр.
если ты в функции напишешь t[index] = ....; , то это приведёт к ошибке компиляции. Можно конечно, воспользоваться приведением типов, но это плохо. Короче, использование const способствует написанию более надёжного кода и с ним заголовок функции более информативен. Например, char* strcpy(char* str1, const char* str2). Понятно, что str2 копируется в str1. Или class A { ................ int func(int x) const; ................ }; Сразу понятно, что функция, опираясь на значения полей класса и параметра x, вернёт значение, но внутри класса ничего не измениться. В нашей компании есть требования к написанию кода и там есть пункт по поводу использования const. Написано примерно следующее: используйте const как можно чаще, ставьте его везде где это возможно. |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
Спасибо! Понял.
-------------------- Да. Именно так. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |