1 | ||||||
Поле mutable в структуре30.06.2015, 12:26. Показов 1791. Ответов 20
Метки нет (Все метки)
Добрый день.
Есть структура
Подскажите пожалуйста, как ей присвоить значение? Спасибо.
0
|
30.06.2015, 12:26 | |
Ответы с готовыми решениями:
20
Не заполнет поле в структуре Обнулить поле ID в структуре Необходимо создать в структуре поле строкой Поле size в структуре типа дерево |
30.06.2015, 12:57 | 7 |
Скорее всего имелось ввиду, что переменная для внутреннего пользования и никто не должен лазИть к ней своими шалавливыми ручками не иначе как посредством наследования и переопределения метода работы с ней в наследуемом классе.
1
|
18842 / 9841 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|
30.06.2015, 16:17 | 18 |
Для организации изменяемого свойства в неизменяемом объекте.
Добавлено через 4 минуты Ilot, в данном конкретном случае это проявляется следующим образом: функция empty() - const. Внутри нее нельзя менять состояние объекта. А вот mutable позволяет сделать исключение для этого. В empty мы работаем с объектом, как с неизменяемым. Но по логике работы, нам, тем не менее, нужно его изменить (захватить мютекс), вот тут mutable и пригодился.
0
|
30.06.2015, 16:40 | 19 |
DrOffset, я просто шучу. Я понимаю для чего необходим mutable.
Просто вопрос castaway'я звучит примерно как: "Ты знаешь о чем говоришь?" . Вот я и смутился.... хотя есть еще один способ применения ключевого слова mutable. А именно при передаче переменных в блямба функцию. Потому как без ключевого слова mutable они передаются по константной ссылке (при захвате внешних переменных).
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
30.06.2015, 16:46 | 20 |
Насколько я понимаю, mutable вводили для обозначения вспомогательных полей, которые логически не являются частью состояния объектов. Например, у нас есть какой-то контейнер с поиском, который кеширует результат последнего запроса на случай, если он повторится. Логически чтение из такого контейнера будет const-операцией, а в суровой действительности надо будет изменять lastFound. Вот тут-то
1
|
30.06.2015, 16:46 | |
30.06.2015, 16:46 | |
Помогаю со студенческими работами здесь
20
const_cast mutable Const_cast и mutable В макросе подставить поле в структуре Не получается создать в структуре поле с именем (char[]) чтобы компилировалось без warning Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |