Войти
ПрограммированиеФорумОбщее

Библиотеки Boost

#0
(Правка: 4:19) 3:57, 12 июля 2019

Подскажите в двух словах, что из себя представляет Boost. Как я понимаю, он является более оптимизированной альтернативой стандартным заголовкам C++, верно?
Имеет ли смысл заменить им в движке стандартные заголовки и нужно ли его предварительно компилировать (раньше нужно было) или достаточно просто включать HPP-заголовки в код движка?
Здесь я имею в виду не дополнительные возможности, отсутствующие в Standard Library, а именно те, которые можно заменить.


#1
(Правка: 5:09) 5:08, 12 июля 2019

Daniil Petrov
> Как я понимаю, он является более оптимизированной альтернативой стандартным
> заголовкам C++, верно?

Нет. boost это когда собрались всякие отпетые профессионалы C++ и начали делать дополнение к STL где есть всё то чего им так не хватало в C++98.
Самые удачные и востребованные решения из boost сейчас входят в STL с новыми ревизиями C++ (C++11, C++14, C++17 и т.п.), так что востребованность в boost постоянно падает.
Например std::function и std::thread всякие - это вот как раз из boost пришло.
Т.к. boost это преимущественно (как и STL) библиотека шаблонов, то у неё такие же проблемы с компиляцией так что в прекомпилед засунуть по идее крайне желательно.

#2
5:36, 12 июля 2019

=A=L=X=
Т.е. смысла заменять им стандартный STL смысла нету?

#3
5:45, 12 июля 2019

Daniil Petrov
> Т.е. смысла заменять им стандартный STL смысла нету?

Он изначально не заменяет, а дополняет.

#4
5:49, 12 июля 2019

=A=L=X=
Я имею в виду одноимённые заголовки

#5
5:57, 12 июля 2019

Daniil Petrov
> Я имею в виду одноимённые заголовки

Они не пересекаются, т.к. имеют разные пути и неймспейсы - буст обычно лежит в "boost/some.hpp" и в нейспейсе boost.
Но в этом смысле - да, использовать буст там где есть в STL смысла нет.
Да и вообще вопрос нужен ли он тебе.
Вроде бы иногда люди еще выхватывают один только или пару конкретно нужных файлов для лёгкости компиляции.

#6
(Правка: 6:48) 6:48, 12 июля 2019

=A=L=X=
> Вроде бы иногда люди еще выхватывают один только или пару конкретно нужных файлов для лёгкости компиляции.
У меня общий Engine SDK, где лежат все SDK для движка и инструментария, так что можно его туда целиком закидывать и включать в проект то, что нужно.
Но пока в нём смысла нету, так как STL им заменять не буду, а функции, не входящие в STL пока ещё не попадались.

#7
7:34, 12 июля 2019

boost, вообще в названии как слово это не от "ускорение" всмысле алгоритмов, а "ускорение" в смысле разработки.

#8
15:40, 12 июля 2019

Весь boost уже есть в С++17. Если тебе нужен boost, значит ты что-то делаешь не так. Ни boost, ни STL в геимдеве не используют. STL только в мобилах и ПК.

#9
16:34, 12 июля 2019

lookid
> STL только в мобилах и ПК
на приставках нету STL библиотеки?

#10
16:40, 12 июля 2019

u960
Где пишут свой аллокатор - там пишут свои контейнеры

#11
17:20, 12 июля 2019

lookid
> Где пишут свой аллокатор
сейчас в эпоху ps4 это актуально?
я так понимаю STL это ведь не только контейнеры?

#12
(Правка: 20:37) 20:37, 12 июля 2019

u960
> на приставках нету STL библиотеки?
пишут обычно своё заточенное под быстродействие, если в коде игры есть что-то отличное от массива или хеш-таблицы тут повод задуматься, не использовать ли массив или хеш-таблицу

для тех кто привык к STL есть версия от EA
https://github.com/electronicarts/EASTL

#13
22:32, 12 июля 2019

Daniil Petrov
Да устройся ты на роботу, хотя бы junior'ом возьмут. Там все и поймешь. А иначе все твои поделки не более чем пердеж в воду.(последняя фраза в стиле топикстартера)
Модерам:
Я серьёзно, без стёба.

#14
(Правка: 12:10) 2:15, 13 июля 2019

TheLightWay
> Да устройся ты на роботу, хотя бы junior'ом возьмут. Там все и поймешь.
Да сам потихоньку разберусь. Надо же с чего-то начинать, а потом уже оптимизировать. Постоянная работа над движком, это же не только его развитие, но и оптимизация.
Сначала для простоты начинания я сделал менеджер ресурсов на std::map, позже уже перебил его на std::vector. По мере продвижения постепенно расту над собой.
P.S. Мне интересно писать движок самому, не заглядывая в чужие, используя в основном свои познания, и со временем повышая оные самому же его и оптимизировать.
Тем более что у меня нет ни малейшего желания работать с чужим говнокодом, даже junior'ом, со своим секса хватает за глаза )))

ПрограммированиеФорумОбщее