Re[3]: Вопрос: volatile std::string s; - что бы это значило?
От:
Аноним
Дата:
24.11.05 17:19
Оценка:
Здравствуйте, Аноним, Вы писали:
A>>Чтобы функции-члены класса std::string имели атрибут volatile.
А>Боюсь, что функции-члены не могут иметь атрибут volatile просто синтаксически. А>Использование volatile ограничивает возможности компилятора по оптимизации, т.к. volatile-объекты могут быть изменены в произвольный момент времени другим потоком (или обработчиком аппаратного прерывания ) Применение volatile к объектам, не являющимися простыми типами (т.е. не int, например) вероятно может повлиять только на оптимизацию inline-методов, т.к. все члены такого объекта также volatile.
А>Уж не знаю, что имел в виду мудрый препод, но для работы с volatile std::string нужна критическая секция в том или ином виде, иначе при параллельном обращении к string ее внутреннее состояние с большой вероятностью будет разрушено
Ан нет, сорри,насчет volatile функций-членов achp прав.