На сколько уверенно можно использовать последнюю версию буста?
На первом этапе подразумевается использование самых стандартных вещей: shared_ptr, locale, threads, signals2, atomic, type_traits
Здравствуйте, Caracrist, Вы писали:
C>На сколько уверенно можно использовать последнюю версию буста? C>На первом этапе подразумевается использование самых стандартных вещей: shared_ptr, locale, threads, signals2, atomic, type_traits
Последняя это последний стабильный релиз 1.55.0? Он был давно , в августе планируется следующая 1.56.0
К тому, что используется в версии 1.55.0 применяю 2 патча, чтобы оно собиралось новыми компиляторами:
HN>Почти все из перечисленного есть в 11 стандарте STL.
Только не забываем что все это добро попало туда из boost.
Если честно мне вообще непонятно зачем это сделали? boost развивается гораздо быстрее и фитчи там появляются гораздо новее и баги там правят тоже чаще.
К тому же boost абсолютно кросс-платформенный ничем не уступает тут std.
Зачем использовать std когда есть boost, ведь изначально boost только дополнял недостающими фитчами std а теперь получается что конкурирует.
Потому как уже много раз сталкивался с тем что люди попросту бояться boost, основной аргумент которых они оглашали — boost огромный
, честное слово просто смешно такое слушать.
N>Только не забываем что все это добро попало туда из boost. N>Если честно мне вообще непонятно зачем это сделали? boost развивается гораздо быстрее и фитчи там появляются гораздо новее и баги там правят тоже чаще.
boost своего рода тестовая лаборатория, там откатали и всё что прижилось сейчас в стандарт приняли.
HolyNick абсолютно прав, вместо boost надо std юзать, по многим вещам это и намного проще,
стоит только вспомнить страшно кривую boost::bind и как во многом проще теперь с лямдой работать.
у нас очень мнофо мест в коде было на boostе, сейчас практически всё выкинули.
но как тестовая лаборатория считаю boost и дальше важным и нужным
pik>стоит только вспомнить страшно кривую boost::bind и как во многом проще теперь с лямдой работать.
Первый раз такое мнение слышу, а можно поподробнее что там не так? Мне кстати наоборот в std::bind жутко не хватает перегруженных операторов
V>Первый раз такое мнение слышу, а можно поподробнее что там не так?
ну сама конструкция я бы сказал не с полпинка логична и понятна, для кодервьювщика опять пока разберёшся что к чему...
ламбда здесь намного юзабельней
V>Мне кстати наоборот в std::bind жутко не хватает перегруженных операторов
в большом коллективе и проекте важно не так код завернуть что ты ах какой крутой и всё в одну строчку завернул а именно
чтобы коллеги быстро понять могли логику и функционал, иначе кодеревью неэффективен или даже невозможен
pik>ну сама конструкция я бы сказал не с полпинка логична и понятна, для кодервьювщика опять пока разберёшся что к чему... pik>ламбда здесь намного юзабельней
Что-то я кажется запутался. Ранее имелось в виду, что boost::bind теперь не нужен т.к. теперь есть лямбды? Или же boost::bind теперь не нужен ибо есть более крутой std::bind ( по поводу этого варианта я как раз и хотел расспросить подробности )?
Здравствуйте, Voivoid, Вы писали:
V>Что-то я кажется запутался. Ранее имелось в виду, что boost::bind теперь не нужен т.к. теперь есть лямбды? Или же boost::bind теперь не нужен ибо есть более крутой std::bind ( по поводу этого варианта я как раз и хотел расспросить подробности )?
нет, я имел ввиду не замену boost::bind на std::bind а именно частный случай когда раньше boost::bind как универсальный инструмент использовался
к примеру в томже std::sort итд, теперь это ненужно и лямбда на этом месте выглядит намного логичнее и юзабельней как и всем сразу понятно зачем
и что функтионал
Здравствуйте, pik, Вы писали:
pik>стоит только вспомнить страшно кривую boost::bind и как во многом проще теперь с лямдой работать.
как будто нету std::bind
A>а при чем тут твоя лямбда? ты про boost::bind говорил, вот в С++11 добавили его аналог — std::bind.
ну и? я ведь о том и писал что boost по большому счёту больше не нужен в повседневке.
контретный случай приводил где раньше boost юзался и теперь это спопкойно лямбда заменяет,
код после это сильно очеловечился
Здравствуйте, Voivoid, Вы писали:
pik>>ну сама конструкция я бы сказал не с полпинка логична и понятна, для кодервьювщика опять пока разберёшся что к чему... pik>>ламбда здесь намного юзабельней V>Что-то я кажется запутался. Ранее имелось в виду, что boost::bind теперь не нужен т.к. теперь есть лямбды? Или же boost::bind теперь не нужен ибо есть более крутой std::bind ( по поводу этого варианта я как раз и хотел расспросить подробности )?
boost::bind нужен полюбе, потому как есть boost::signals/2, boost::function, boost::overloaded_functions и т.д.
И я никак не пойму причем тут лямбда вообще, если это часть языка. По лямбдам кстати есть boost::phoenix и его полиморфность
в отличии от того что предлагают компиляторы сейчас (не часто требуется, но иногда надо использовать именно phoenix).
Ну и лябды можно и на boost::mpl писать, для развлечения
Здравствуйте, Caracrist, Вы писали:
C>На сколько уверенно можно использовать последнюю версию буста? C>На первом этапе подразумевается использование самых стандартных вещей: shared_ptr, locale, threads, signals2, atomic, type_traits
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, pik, Вы писали:
pik>>Здравствуйте, Abyx, Вы писали:
A>>>как будто нету std::bind pik>>и что дальше? и лямбда всегда была?
A>а при чем тут твоя лямбда? ты про boost::bind говорил, вот в С++11 добавили его аналог — std::bind.
Это даже и близко не аналог. boost::bind делает особую, уличную магию, когда есть несколько перегруженных функций для определения того, какую же функцию захотел вызвать программист. На std::bind можно это сделать но через жуткие касты — некрасиво.
Здравствуйте, Caracrist, Вы писали:
C>На сколько уверенно можно использовать последнюю версию буста?
Этот вопрос был бы актуален более 10-ти лет назад, когда народ только начинал осваивать boost, а в некоторых важных либах ещё встречались критические баги. Сейчас же в основном используют стандартную либу с++11, а из буста тягают только то, что в стандарт не вошло. У меня в проектах, например, вот такие инклуды мелькают:
Здравствуйте, nen777w, Вы писали:
N>Зачем использовать std когда есть boost, ведь изначально boost только дополнял недостающими фитчами std а теперь получается что конкурирует.
1) Кода меньше(проще понять), нет ifdef под все виды компиляторов, возможность использовать спец. прагмы и расширения.
2) Компилится от этого быстрее
3) Не нужна инфраструктура по управлению зависимостями
4) Возможно делали оптимизацию
Здравствуйте, Caracrist, Вы писали:
C>На сколько уверенно можно использовать последнюю версию буста? C>На первом этапе подразумевается использование самых стандартных вещей: shared_ptr, locale, threads, signals2, atomic, type_traits
Можете быть полностью уверены, что использовать лучше, чем не использовать.