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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Кольсольное приложение win32 или CLR http://www.cyberforum.ru/cpp-beginners/thread341677.html
Привет Возникла делема помогите советом. язык C++ где лучше писать на консольном приложении win32 или на консольном приложении CLR ? Если есть ещё кроме них какие то варианты то буду рад их посмотреть.
C++ Орфография class CClass { private: int someValue; public: CClass() {someValue = 0} }; а теперь точно такой же но с ; http://www.cyberforum.ru/cpp-beginners/thread341665.html
C++ mcisendstring
Привет! Есть такая тема. Начинаю разбираться с функциями windows, дошел до mcisendstring. Написал следующее: #include <cstdlib> #include <iostream> #include <windows.h> #include <string> using namespace std;
Область видимости переменной C++
#include <iostream> int main() { int i = 5; for(int i = 0; i < 5; i++) { //здесь } return 0;
C++ Как получить опыт http://www.cyberforum.ru/cpp-beginners/thread341620.html
Здравствуйте все. С самого начала изучения C++ у меня было больше теории нежели практики. Сейчас я знаю основы программирования на С++, хочу получить практику и участвовать в каком-то проекте. Готов работать бесплатно, лишь бы практика была. Что Вы мне посоветуете? Как правильно продолжить путь изучения С++, чтобы в дальнейшем получить высокооплачиваемую работу?
C++ Границы массива Пришла ночью дурная идея... как определить конец массива: int main(int argc, char *argv){ int *p, A={1, 2, 3}; p = &A; while(p != NULL){ cout<< *p<< endl; p++; getch(); } system("PAUSE"); подробнее

Показать сообщение отдельно
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.08.2011, 18:05     Пояснить про const в возвращаемом типе функции
Если добавлять 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;
}
 
Текущее время: 13:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru