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

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

Войти
Регистрация
Восстановить пароль
 
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
#1

Для чего const после phone() - C++

25.06.2012, 21:10. Просмотров 796. Ответов 4
Метки нет (Все метки)

C++ (Qt)
1
const char* phone()const {return phone_;}
Для чего const после phone()?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2012, 21:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для чего const после phone() (C++):

Что такое static const и для чего он нужен? - C++
Что такое static const ? И для чего он нужен ?

Модификатор const для параметра функции не const? - C++
void foo(const int N) { int Arr; //<-- ??? } В clang это работает. В VisualStudio 2015 нет.

int const * const foo(const int* param) const - разъясните значение квалификаторов - C++
int const * const foo(const int* param) const -----1------2----------3----------------4 1: ? 2: делает содержимое массива или...

Const после функции - C++
Здравствуйте! Объясните, пожалуйста, что делает тут const: double GetFrequency () const { return m_frequency; } ...

Const после функции - C++
Можно ли сказать что такая запись: void F(int a, int b)const заменяет эту: void F(const int a, const int b) ...

Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять. - C++
Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.06.2012, 21:14 #2
Цитата Сообщение от defer Посмотреть сообщение
Для чего const после phone()?
const после phone() значит что метод не изменяет состояние объекта
lamerr
9 / 9 / 1
Регистрация: 05.04.2012
Сообщений: 26
25.06.2012, 21:16 #3
Цитата Сообщение от Jupiter Посмотреть сообщение
const после phone() значит что метод не изменяет состояние объекта
...а если всё же попробовать изменить его внутри функции, произойдёт ошибка компиляции. По сути, это защита от ошибок разработчика.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.06.2012, 21:19 #4
Цитата Сообщение от defer Посмотреть сообщение
Для чего const после phone()?
Он показывает, что функция не изменяет данные в классе. Также может вызывать только константные методы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Foo
{
    void foo() const
    {
 
    }
 
    const void fooNoConst()
    {
 
    }
 
    const void func() const
    {
        foo();
        //fooNoConst(); ERROR
    }
};
 
int main()
{
 
    return 0;
}
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
25.06.2012, 21:24 #5
Цитата Сообщение от lamerr Посмотреть сообщение
По сути, это защита от ошибок разработчика.
Не только. Это ещё позволяет вызывать эту функцию от константных объектов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2012, 21:24
Привет! Вот еще темы с ответами:

Ключевое слово const после ключевого слова new - C++
Наткнулся на такую запись const int* ciq = new const int (3); Какую роль играет const после new?

Что означает const после круглых скобок функции - C++
всем привет. скажите, а что здесь значит const? int func(int var) const { return get; }

Ключевое слово const после декларации функции в классе - C++
Здравствуйте, у меня есть подобный класс-шаблон: template <typename Type> class Array { private: Type* ptr; // ...

char operator[](unsigned short offset) const; // что означает const? - C++
Собстенно вопрос уже озвучен :).


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.06.2012, 21:24
Ответ Создать тему
Опции темы

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