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

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

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

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

30.06.2015, 12:26. Просмотров 563. Ответов 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...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 12:29     Поле mutable в структуре #2
Убрать protected
Костяныч
15 / 15 / 0
Регистрация: 31.10.2010
Сообщений: 1,233
Записей в блоге: 2
30.06.2015, 12:33  [ТС]     Поле mutable в структуре #3
Ilot, не зря наверно автор этого кода сделал protected....
По другому никак?
lss
921 / 851 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
30.06.2015, 12:35     Поле mutable в структуре #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Костяныч Посмотреть сообщение
По другому никак?
Сделай, в public-области, сеттер для присвоения значения Time.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 12:38     Поле mutable в структуре #5
Цитата Сообщение от Костяныч Посмотреть сообщение
По другому никак?
Добавь метод, изменяющий переменную, или метод, который возвращает ссылку на неё.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
30.06.2015, 12:44     Поле mutable в структуре #6
Цитата Сообщение от Костяныч Посмотреть сообщение
не зря наверно автор этого кода сделал protected
mutable и protected это вообще из двух разных плоскостей понятия.
Возможно, имелось в виду, mutable и const?
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 12:57     Поле mutable в структуре #7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Возможно, имелось в виду, mutable и const?
Скорее всего имелось ввиду, что переменная для внутреннего пользования и никто не должен лазИть к ней своими шалавливыми ручками не иначе как посредством наследования и переопределения метода работы с ней в наследуемом классе.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
30.06.2015, 12:59     Поле mutable в структуре #8
Цитата Сообщение от Ilot Посмотреть сообщение
Скорее всего имелось ввиду, что переменная для внутреннего пользования и никто не должен лазИть к ней своими шалавливыми ручками не иначе как посредством наследования и переопределения метода работы с ней в наследуемом классе.
Ilot, при чём тут мютабл?
lss
921 / 851 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
30.06.2015, 13:03     Поле mutable в структуре #9
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
при чём тут мютабл?
Не при чём. Считай, что его нет, вопрос темы от этого не меняется.
Цитата Сообщение от Костяныч Посмотреть сообщение
NameStructure::Time' is not accessible.
Подскажите пожалуйста, как ей присвоить значение?
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 13:21     Поле mutable в структуре #10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Ilot, при чём тут мютабл?
На самом деле да, он не при чём. Я в тему зашёл только из-за него)
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 13:27     Поле mutable в структуре #11
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Ilot, при чём тут мютабл?
Притом, что эта переменная может использоваться подобно мъютексу.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 13:44     Поле mutable в структуре #12
Цитата Сообщение от Ilot Посмотреть сообщение
Притом, что эта переменная может использоваться подобно мъютексу.
Ну, это, как бы две разные сущности. Ключевое слово mutable не имеет ничего общего со взаимным исключением.
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 14:56     Поле mutable в структуре #13
Цитата Сообщение от castaway Посмотреть сообщение
Ключевое слово mutable не имеет ничего общего со взаимным исключением.
castaway, простой пример:
Э. Уильямс Параллельное программирование в действии стр. 120.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
30.06.2015, 15:00     Поле mutable в структуре #14
Цитата Сообщение от Ilot Посмотреть сообщение
castaway, простой пример:
Э. Уильямс Параллельное программирование в действии стр. 120.
Извини, но я ради такого простого примера не буду покупать книгу, или искать её электронный вариант.
На твоём месте было бы правильнее цитировать его.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2015, 15:05     Поле 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: определяет точку входа для консольного приложения. // ...


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

Или воспользуйтесь поиском по форуму:
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 15:05     Поле mutable в структуре #15
Цитата Сообщение от castaway Посмотреть сообщение
На твоём месте было бы правильнее цитировать его.
Твоя правда.
В книге приводится пример многопоточного контейнера.
Структура класса:
Поле mutable в структуре
Комментарий:
Поле mutable в структуре
Yandex
Объявления
30.06.2015, 15:05     Поле mutable в структуре
Ответ Создать тему
Опции темы

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