Форум программистов, компьютерный форум 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.Из входного потока (файла) поступает текст, состоящий из слов, которые разделены пробелами. Между словами может быть более одного пробела. Разобрать текст по символам, упорядочив его путем сортировки двоичным деревом. Под символами в данном случае подразумеваются лишь те, которые входят в слова. 2.Разобрать дерево по символам.Построить таблицу из всех различных символов текста с указанием... 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 и ход представляю себе, как выбор места и нажатие на него мышью, куда надо расположить крестик или нолик на доске. Какими средствами можно работать с мышью в с++? Добавлено через 20 часов 59 минут Может быть, я не в...
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; // Указатель на строку unsigned max; // Максимальное количество символов в строке, определяющееся при инициализации unsigned N; // Динамическая (текущая) длина строки } str; подробнее

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

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