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

Если объект константный, означает ли это, что ни один его член-элемент или член-метод не изменится? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить двухмерный вектор таблицей умножения и выввести его в выходной поток http://www.cyberforum.ru/cpp-beginners/thread1246745.html
Есть такое задание: Заполнить двухмерный вектор таблицей умножения и выввести его в выходной поток Реализовано хорошо и работает правильно #define _CRT_SECURE_NO_WARNINGS #include <iostream>...
C++ Нужны задачи для решения Здравствуйте. Если здесь есть студенты-программисты, то очень попрошу их сбросить сюда задания по С++, потому что все свои уже перерешал. http://www.cyberforum.ru/cpp-beginners/thread1246737.html
Вывод строки с cout: IntelliSense: no operator "<<" matches these operands C++
ошибку выдает 3 IntelliSense: no operator "<<" matches these operands operand types are: std::ostream << std::string c:\Users\7777\Documents\Visual Studio...
C++ Не получается вставить элемент в вектор
Почему нельзя таким образом вставить элемент в вектор? #include <vector> using SomeVeryLongNamedType = int; int main() { std::vector<SomeVeryLongNamedType> vec; ...
C++ Отловить запуск процесса http://www.cyberforum.ru/cpp-beginners/thread1246719.html
Здравствуйте. Хотелось бы узнать как на c++ можно проверить включение программы(не нужно проверять включена ли она уже) программа должна реагировать на тот момент когда запускается конкретная...
C++ Приведите простой пример который будет считать сумму чисел приведите простой пример который будет считать сумму чисел подробнее

Показать сообщение отдельно
DrOffset
7312 / 4412 / 999
Регистрация: 30.01.2014
Сообщений: 7,245
25.08.2014, 01:32
Цитата Сообщение от hoz Посмотреть сообщение
Я так и не понял, не возможность изменения касается только неявных членов или вообще любых членов?
Честно говоря первый раз вижу такую формулировку. Но скорее всего имеется в виду следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct B
{
    int a;
};
 
class A
{
public:
    void foo() const
    {
         a = 1; // error "яный член" константен, менять нельзя
         b->a = 1; // ok здесь константен указатель, но указываемые данные спокойно можно менять
    }
 
private:
    int a;
    B * b; 
};
Цитата Сообщение от hoz Посмотреть сообщение
Хочу понять, когда применять модификатор const, вот и штудирую данный вопрос.
Применять нужно всегда, когда нужно продекларировать, что метод не может менять состояние класса.

Добавлено через 6 минут
Цитата Сообщение от hoz Посмотреть сообщение
Если объект константный это означает, что ни один его член-элемент или член-метод не изменится или только некоторые из них?
Кстати, константность может быть логической. Т.е. объект константен, но некоторые его данные нет. Это обеспечивается с помощью mutable.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru