![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
kibsoft |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Вообще const в методах нужен только для запрета изменения данных?:
void func()const;//тут нельзя изменять все, что не mutable void fucn(const A *obj);//нельзя изменять объект A. Вот прочитал на хабре: Цитата Кроме того, этот const позволяет перегружать методы. Таким образом, вы можете писать оптимизированные варианты методов для константных объектов. Раскрывающийся текст
Результат: A(int) // x=1 f() // x=1 A(int) // x=2 f() const // x=2 То есть для константного объекта (с x=2) был вызван соответствующий метод. Оптимизированный в том смысле, что самому заботится не надо какой ты объект передаешь(const, не const) и компилятор сам выберет нужный метод? А вообще const в аргументах и т.д. хоть как-то влияет на скорость выполнения? P.S. Пока понимаю только один смысл - оберегание от случайных изменений данных. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 13.4.2025, 2:15 |