Здравствуйте, Sinclair, Вы писали:
V>>Ключевое слово const — оно не само в себе весчь, в разных синтаксических конструкциях имеет разную семантику.
V>>Соотв., обсуждать можно только конкретные синтаксические конструкции, где допустимо это ключевое слово.
V>>Предлагаю впредь поступать именно так, дабы не испытывать терпение коллег-читателей.
S>Начните с себя. Вот ваша цитата:
S>S>Через const в С++ можно выразить абсолютно все сценарии вокруг иммутабельности целиком, но это будет лишь небольшая вершинка айсберга всех сценариев, покрываемых const.
S>Что ж вы тут обсуждаете не конкретные синтаксические конструкции, а испытываете терпение коллег-читателей?
Для тех, кто владеет плюсами, — это истинное выражение.
Остальные могли бы уточнять, вместо споров, бо спор предполагает достаточные знания по предметной области.
В этом смысле ты нарушаешь логику спора.
(хотя, я могу не сильно ошибаться, предполагая, что ты специально провоцируешь коллег на манер шимжы, дабы они несли тебе инфу на блюдечке... но вообще достаточно просто спросить)
V>>В примере акцент не на списке (и откуда ты взял про "эффективность?"), а на внешний вид выражений.
S>А зачем мне внешний вид выражений? Внешний вид я и сам какой угодно придумаю.
Это был ответ на твоё
Методы гораздо удобнее выстраивать в цепочку. Запись вида ... читать гораздо комфортнее, чем ...
Для цепочки бинарных операций удобнее всего использовать бинарные же синтаксические операции, разумеется.
Особенно если удачно их подобрать, с учётом встроенного в язык приоритета операций. ))
S>Вопрос в реализации — будет ли у вас там O(N) копирование на каждый чих, и будет ли добавление K элементов стоить O(N*K).
Будет зависеть от реализации.
Для сбалансированного дерева будет O(log N), для иммутабельной хеш-таблицы близко к O(N/K), где K — отношение кол-ва элементов и уникальных хеш-кодов по модулю N.
Кстате, пример хеш-таблиц как раз для случая, когда контейнер намного эффективнее для чтения, чем для изменений.
Просто в дотнете хеш-таблицы недоделанные, вызывают удивление.
По классике при перестроении хеш-таблицы необходимо подбирать гаммирующую функцию для минимизации конфликтов хеш-кодов, соотв. алгоритмы в теории есть.
В дотнете эта стадия опущена.
Т.е., дотнетная хеш-таблица — "компромисс на все случаи жизни", бгг...
Кстате, надо будет взглянуть на FrozenHashTable, что там происходит в процессе построения...