mutable на практике
От: kjam Украина  
Дата: 27.11.11 10:48
Оценка:
Уважаемые коллеги, какие способы применения mutable вы знаете?

Порывшись по форумам, нашел следующее:
1) Кеширование результатов тяжелых операций (ленивая загрузка сюда тоже попадает)
2) Синхронизационные примитивы (включая счетчик ссылок)
3) Надругательство над архитектурой

Еще идеи? Как еще можно изменить микросостояние объекта не меняя его макросостояние?

Меня интересует, может ли mutable быть полностью заменен кешированием не уровне рантайма? Насколько это полноценная замена?

T.e. вместо
//C++
Data getData() const
{
    if(!hasData)
    {
        hasData = true;
        data = DoGetData();
    }
    return data;
}

Написать
// Hypotetic lang
Data getData() const caching
{
    return DoGetData();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.