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

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

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

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

25.06.2012, 21:10. Просмотров 781. Ответов 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()
Посмотрите здесь:

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

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

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

Ключевое слово 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; // ...

С чего начать изучение С++ после C#? - C++
Здравствуйте, я долгое время писал на C#, но, из-за того что мне придется ехать на всеукраинскую олимпиаду по программированию, надо учить...

Ключевое слово const для возвращаемого значения из функции - C++
Думал что это означает следующее "Нельзя изменить значение которое вернет функция" Но проверил и оказалось что это не так #include...

Разница между объявлениями const Person p1 и Person const p1 - C++
Всем привет. Собственно весь вопрос уместился в заголовок: в чем разница между объявлениями const Person p1 и Person const p1, если...

Как вызвать прегруженный const метод для статического объекта - C++
class A { public: A() { cout << "A()" << endl; } ~A() { cout << "~A()" << endl; } void foo() { cout << "foo 1_1"; } ...

Можно ли использовать явное приведение типов для данных со спецификатором const? - C++
Например: int n; const int* ukn = &n; int s; int* uks = &s; const_cast< int* >( ukn ); // или (int*) ukn; *ukn = *uks; //...

Введите с клавиатуры строку символов, после чего выведите ее на экран вертикально, а затем по диагонали - C++
Введите с клавиатуры строку символов, после чего выведите ее на экран вертикально (по одной букве в каждой строке), а затем по...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.06.2012, 21:14     Для чего const после phone() #2
Цитата Сообщение от defer Посмотреть сообщение
Для чего const после phone()?
const после phone() значит что метод не изменяет состояние объекта
lamerr
9 / 9 / 1
Регистрация: 05.04.2012
Сообщений: 26
25.06.2012, 21:16     Для чего const после phone() #3
Цитата Сообщение от Jupiter Посмотреть сообщение
const после phone() значит что метод не изменяет состояние объекта
...а если всё же попробовать изменить его внутри функции, произойдёт ошибка компиляции. По сути, это защита от ошибок разработчика.
soon
2538 / 1303 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.06.2012, 21:19     Для чего const после phone() #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
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,990
25.06.2012, 21:24     Для чего const после phone() #5
Цитата Сообщение от lamerr Посмотреть сообщение
По сути, это защита от ошибок разработчика.
Не только. Это ещё позволяет вызывать эту функцию от константных объектов.
Yandex
Объявления
25.06.2012, 21:24     Для чего const после phone()
Ответ Создать тему
Опции темы

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