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

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

Войти
Регистрация
Восстановить пароль
 
 
Костяныч
15 / 15 / 0
Регистрация: 31.10.2010
Сообщений: 1,233
Записей в блоге: 2
#1

Поле mutable в структуре - C++

30.06.2015, 12:26. Просмотров 564. Ответов 20
Метки нет (Все метки)

Добрый день.
Есть структура
C++
1
2
3
4
5
6
struct NameStructure
{
  protected:
    mutable TDateTime Time;
.......
}
Эту структуру я объявил в другом классе и пытаюсь заполнить переменную Time. А мне выпадает ошибка: E2247 NameStructure::Time' is not accessible.
Подскажите пожалуйста, как ей присвоить значение?
Спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2015, 12:26     Поле mutable в структуре
Посмотрите здесь:

Обнулить поле ID в структуре - C++
Добрый вечер! Подскажите как обнулить поле ID в структуре? orderId - это порядковый номер, который присваиваетсяавтоматически по...

Не заполнет поле в структуре - C++
Описал структуру, но она некорректно заполняется. А именно, пропускается поле при втором и последующим прохождении.Помогите, пожалуйста....

Поле size в структуре типа дерево - C++
Доброго времени суток. Вопрос, где лучше хранить поле содержащее размер структуры. Не хочется в каждом объекте заводить специальную...

Const_cast и mutable - C++
В чем их отличие и когда их необходимо использовать (если не нарушена архитектура программы)?

const_cast mutable - C++
в чем разница? спасибо.

Смысл спецификатора mutable - C++
В этом тема и заключается %-)

Внутренняя работа mutable - C++
Привет. Хочу спросить у особо продвинутых, как работает ключевое слово mutable. Вот тут, например: #include <iostream> #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 15:18     Поле mutable в структуре #16
Ilot, эта выдержка - всего лишь пример конкретного случая, который не подтверждает слова:
Цитата Сообщение от Ilot Посмотреть сообщение
Притом, что эта переменная может использоваться подобно мъютексу.
Ты знаешь для чего существует ключевое слово mutable?
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 15:45     Поле mutable в структуре #17
Цитата Сообщение от castaway Посмотреть сообщение
Ты знаешь для чего существует ключевое слово mutable?
Нет. Просвяти.
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
30.06.2015, 16:17     Поле mutable в структуре #18
Цитата Сообщение от Ilot Посмотреть сообщение
Нет.
Для организации изменяемого свойства в неизменяемом объекте.

Добавлено через 4 минуты
Ilot, в данном конкретном случае это проявляется следующим образом: функция empty() - const. Внутри нее нельзя менять состояние объекта. А вот mutable позволяет сделать исключение для этого. В empty мы работаем с объектом, как с неизменяемым. Но по логике работы, нам, тем не менее, нужно его изменить (захватить мютекс), вот тут mutable и пригодился.
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 16:40     Поле mutable в структуре #19
DrOffset, я просто шучу. Я понимаю для чего необходим mutable.
Просто вопрос castaway'я звучит примерно как: "Ты знаешь о чем говоришь?" . Вот я и смутился.... хотя есть еще один способ применения ключевого слова mutable. А именно при передаче переменных в блямба функцию. Потому как без ключевого слова mutable они передаются по константной ссылке (при захвате внешних переменных).
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,931
Завершенные тесты: 1
30.06.2015, 16:46     Поле mutable в структуре #20
Насколько я понимаю, mutable вводили для обозначения вспомогательных полей, которые логически не являются частью состояния объектов. Например, у нас есть какой-то контейнер с поиском, который кеширует результат последнего запроса на случай, если он повторится. Логически чтение из такого контейнера будет const-операцией, а в суровой действительности надо будет изменять lastFound. Вот тут-то мышка mutable и пригодится.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2015, 19:11     Поле mutable в структуре
Еще ссылки по теме:

Назначение mutable в лямбда-функции - C++
Прокомментируйте, чтоб не выдумывать. Спецификатор mutable определяет по списку захвата локальные статические переменные? int main() {...

Несколько mutable bool в классе - C++
Приветствую. Столкнулся с необъяснимой для меня проблемой. Суть: Есть класс, пусть будет: class test { mutable bool flag1,...

Изменить const с помощью mutable - C++
Привет всем, у меня 1 вот такой вопрос, почему в етом коде "а" - не изменяется? у меня же "b" -mutable? помогите пожалуйста... ...

Указатель в структуре - C++
Как можно работать дальше с Abool как с массивом, обращаясь к нему как к члену структуры, т. е. D.Abool? Когда программа доходит до этого...

Ошибка в структуре - C++
не пойму в чем ошибка,пожалуйста, помогите исправить. // 897.cpp: определяет точку входа для консольного приложения. // ...


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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 19:11     Поле mutable в структуре #21
Цитата Сообщение от Ilot Посмотреть сообщение
Просто вопрос castaway'я звучит примерно как: "Ты знаешь о чем говоришь?"
Он именно так и звучал. Лично для меня всё ещё остаётся загадкой как
Цитата Сообщение от Ilot Посмотреть сообщение
эта переменная может использоваться подобно мъютексу.
Тут не я просвещять должен.
Может быть я чего то не знаю.. Буду благодарен если пояснишь. Лучше в виде примера.
Yandex
Объявления
30.06.2015, 19:11     Поле mutable в структуре
Ответ Создать тему
Опции темы

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