[#] [Из песочницы] Аналог std::vector из C++11 на чистом C89 и как я его писал
habrabot(difrex,1) — All
2017-03-17 16:30:04


[![image][1]][2]
_Жилой массив людей. Нет, серьёзно._



Холивары между ценителями Си и приверженцами его "сына" в лице C++ начались ещё до моего рождения и прекратятся разве что после смерти обоих этих языков и меня заодно. Адепты великого творения Кернигана-Ритчи до последней секунды рабочего дня готовы доказывать приспешникам Страуструпа аксиомы про вечность Си и его невероятную гибкость. Те в ответ им по-свойски советуют лучше порадоваться рабочему дню, ведь он вот-вот окажется последним – двадцать первому веку кроссплатформенный ассемблер не нужен. Распаляясь, сторонники Си приводят давно прошедшие через голову навылет миллионы тезисов "почему Си лучше C++", при этом каждый раз подчёркивая, что второй все достоинства первого растерял ещё будучи в отцовской утробе, попутно утратив лик человеческий. Обвиняемая сторона в обиде не остаётся и… а хотя постойте, о чём это я.



Я люблю Си, уважаю C++ и не переношу холивары (честно). При этом я осознаю, что в Си действительно не хватает многого, и яркий тому пример – отсутствие удобной работы с данными. В C++ эту проблему во многом решает STL и свойства самого языка. На мой студенческий взгляд, здесь особо отличается всем знакомый `std::vector`. Если стало интересно, как я реализовал его аналог средствами C89 – прошу под кат.

[Читать дальше →][3]

[1]: https://habrastorage.org/files/07f/3b0/d1b/07f3b0d1b2cc4f3cad3fb0272953ac4b.png
[2]: https://habrahabr.ru/post/324210/
[3]: https://habrahabr.ru/post/324210/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut