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

Const в конце строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему программа ничего не выводит (перегрузка операторов)? http://www.cyberforum.ru/cpp-beginners/thread960835.html
#include <iostream> #include <stdio.h> #include <math.h> #define M 100 using namespace std; struct Item { float x;
C++ создать дерево 1.Из входного потока (файла) поступает текст, состоящий из слов, которые разделены пробелами. Между словами может быть более одного пробела. Разобрать текст по символам, упорядочив его путем... http://www.cyberforum.ru/cpp-beginners/thread960822.html
C++ Разница между объявлениями const Person p1 и Person const p1
Всем привет. Собственно весь вопрос уместился в заголовок: в чем разница между объявлениями const Person p1 и Person const p1, если Person - это класс. Спасибо.
Обработка мыши VS C++ C++
Как можно обрабатывать события мышки в с++? К примеру, хочу написать игру http://ru.wikipedia.org/wiki/%D0%92%D0%BE%D0%B9%D0%BD%D0%B0_%D0%B2%D0%B8%D1%80%D1%83%D1%81%D0%BE%D0%B2 и ход представляю...
C++ С++ напишите, что делает каждая строчка в этом коде?! http://www.cyberforum.ru/cpp-beginners/thread960806.html
#include "stdafx.h" #include <iostream> using namespace std; int sum (int a, int m) { int s=0; for (int i=0; i<a; i++) {
C++ Переменная уже определена в Form_5.obj Здравствуйте, я наткнулся на следующую проблему и не могу решить. Вот имеется код файла Form_5.h: #ifndef _FORM5_H #define _FORM5_H typedef struct { char *s; // Указатель на строку... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
24.09.2013, 00:29
Мариам, const это ключевое слово которое информирует компилятор, что что-то изменять нельзя.
const int a = 3;//даже инициализировать нужно в момент объявления потому-что
a = 4; //уже не компилируется.
Теперь о методах экземпляра класса (оператор это тоже метод экземпляра вызываемый особым образом)...
Скорее всего перегружать операторы + и - с типом возврата const это неправильно. Потом не сможете использовать результат для модификации полей.
А слово const между закрывающей скобкой сигнатуры объявления (круглой) и открывающей скобкой тела (фигурной), говорит о том, что это константный метод. Это уведомление компилятору о том, что Вы не намерены изменять поля класса. По-этому компилятор не даст вам это сделать и явно, и вызвать не константный метод. Компилятор не умеет отслеживать изменяете ли Вы поле класса или нет при вызове не константного метода и ему достаточно подозрения, что Вы сможете это сделать в принципе. По-этому попытку прямого изменения поля или вызов не константного метода в константный компилировать не будет. Об этом написано везде. Почитайте.

Добавлено через 12 минут
Цитата Сообщение от IGPIGP Посмотреть сообщение
Скорее всего перегружать операторы + и - с типом возврата const это неправильно. Потом не сможете использовать результат для модификации полей.
Это я типичную глупость сморозил. На ночь глядя.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru