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

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

Войти
Регистрация
Восстановить пароль
 
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
#1

Пояснить про const в возвращаемом типе функции - C++

13.08.2011, 16:20. Просмотров 509. Ответов 4
Метки нет (Все метки)

когда может понадобится написать такое:

C++
1
2
3
4
const int func(int i)
{
    return i+5;
}
вопрос конкретно за const
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2011, 16:20     Пояснить про const в возвращаемом типе функции
Посмотрите здесь:

Ошибка в возвращаемом типе - C++
Помогите пожалуйста, у меня уже волосы дыбом встают. Почему компилятор ругается на это... template<typename _My> iterator...

Пояснить про указатели и ссылки - C++
есть переменное и указатель.. Значение нашей переменной случайный адрес, Как менять адрес указателя, таким образом, что бы она стала...

Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? - C++
Приветствую. У меня вот такая задача - завести массив констант, причём он используется ТОЛЬКО одной функцией (не main), и поэтому,...

Количество символов в возвращаемом имени - C++
Есть такая реализация возвращаемого имени const char* getClass() const { return typeid(*this).name(); } подскажите, зачем перед...

Пояснить работу рекурсивной функции - C++
Ребят, может кто-нибудь объяснить тугодуму принцип работы этой функции, потому что я что-то сам никак... double maxs(double* a, int n)...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
13.08.2011, 17:40     Пояснить про const в возвращаемом типе функции #2
const int i=srand(time(null))
i=func(i)
или проста некогда
или извращёным умо
Drum and C++
12 / 14 / 0
Регистрация: 03.08.2011
Сообщений: 213
13.08.2011, 17:42     Пояснить про const в возвращаемом типе функции #3
это бред
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.08.2011, 18:05     Пояснить про const в возвращаемом типе функции #4
Если добавлять const к всторенным типам данных, то в этом нет никого смысла, потому что функция возвращает r-value, к которому не могут быть применены операции =, ++ и т.д.
Но если функция возвращает обьект какого-то класса, то тогда к этому обьекту могут быть применены только константные методы.
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
class A {
public:
    A(): n(0) {}
    int get_num(void) const {return n;}
    void set_num(const int _n) {n = _n;}
private:
    int n;
};
 
const A foo(void)
{
    return A();
}
 
int main(void)
{
    foo().get_num();
    foo().set_num(11); // error
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2011, 18:01     Пояснить про const в возвращаемом типе функции
Еще ссылки по теме:

const char *[] в функции - C++
Прототип функции такой void deal(const int , const char *, const char *); А вот сама функция void deal(const int wDeck, const char...

Применение const в функции - C++
Подскажите как защитить массив от изменения в функции. #include &lt;iostream&gt; using namespace std; double igor(double mass,int...

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

Обращение к контейнеру в const функции - C++
Есть примерно такой код: class a { map&lt;int, map&lt;int, bool&gt;&gt; matrix; bool IsEdgeExists(int pointFrom, int pointTo) const { ...


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

Или воспользуйтесь поиском по форуму:
Сыроежка
Заблокирован
14.08.2011, 18:01     Пояснить про const в возвращаемом типе функции #5
Цитата Сообщение от Mayonez Посмотреть сообщение
когда может понадобится написать такое:

C++
1
2
3
4
const int func(int i)
{
    return i+5;
}
вопрос конкретно за const
Лично я не знаю, когда это может понадобиться. Даже при поиске блока catch для оператора throw квалификатор const убирается. То есть если вы напишите

C++
1
2
3
4
5
6
7
8
9
10
try
{
   throw ( func( 0 ) );
}
catch ( int )
{
}
catch ( const int )
{
}
То компилятор вас обругает, так как ему достаточно catch ( int ).
Yandex
Объявления
14.08.2011, 18:01     Пояснить про const в возвращаемом типе функции
Ответ Создать тему
Опции темы

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