LINUX.ORG.RU

История изменений

Исправление Siborgium, (текущая версия) :

Какое отношение строки-массивы имеют к дополнительным блокам памяти?

Сколько нужно дополнительных блоков, чтобы выделить std::shared_ptrstd::string ? Два-три.

  1. Никакого отношения число «дополнительных» блоков памяти в указанном типе не имеет к строкам-массивам.

  2. Меньше 2 на мутабельную строку выделять не получится в принципе без дополнительных приседаний – со всеми оптимизациями.

И почему-то нам не хотелось написать свой стандарт, который бы нам помешал это сделать.

Интрузивные хэш-таблицы отношения к unordered_map не имеют. unordered_{map,set} вошли в стандарт такими по историческим причинам, и даже с этой оговоркой являются достаточно производительными. Интрузивные хэш-таблицы в Boost обладают специфичным интерфейсом, не подходящим для обобщенного использования.

Выполнив некорректную последовательность деструкторов RAII может выстрелить себе в ногу

Выполнив некорректную последовательность финализаторов, GC может выстрелить себе в ногу

Повреждение памяти намного, НАМНОГО опаснее, чем просто утекшие ресурсы.

Это спорное утверждение, не говоря уже о том, что повреждение памяти куда легче обнаружить.

Сейчас это тупо примитивный сахарок для расчета выравнивания структуры

Нет, это не сахарок для расчета выравнивания структуры

  • этого сильно, сильно меньше, чем нужно для высокоуровневого программирования.

С вообще не для высокоуровневого программирования.

Исходная версия Siborgium, :

Какое отношение строки-массивы имеют к дополнительным блокам памяти?

Сколько нужно дополнительных блоков, чтобы выделить std::shared_ptrstd::string ? Два-три.

  1. Никакого отношения число «дополнительных» блоков памяти в указанном типе не имеет к строкам-массивам.

  2. Меньше 2 на мутабельную строку выделять не получится в принципе без дополнительных приседаний – со всеми оптимизациями.

И почему-то нам не хотелось написать свой стандарт, который бы нам помешал это сделать.

Интрузивные хэш-таблицы отношения к unordered_map не имеют. unordered_{map,set} вошли в стандарт такими по историческим причинам, и даже с этой оговоркой являются достаточно производительными. Интрузивные хэш-таблицы в Boost обладают специфичным интерфейсом, не подходящим для обобщенного использования.

Выполнив некорректную последовательность деструкторов RAII может выстрелить себе в ногу

Выполнив некорректную последовательность финализаторов, RAII может выстрелить себе в ногу

Повреждение памяти намного, НАМНОГО опаснее, чем просто утекшие ресурсы.

Это спорное утверждение, не говоря уже о том, что повреждение памяти куда легче обнаружить.

Сейчас это тупо примитивный сахарок для расчета выравнивания структуры

Нет, это не сахарок для расчета выравнивания структуры

  • этого сильно, сильно меньше, чем нужно для высокоуровневого программирования.

С вообще не для высокоуровневого программирования.