LINUX.ORG.RU

[C++11] Standard Library


0

3

Все чаще замечаю, что добавленные в новый стандарт классы, алгоритмы и т.д. тупо копируются из boost'a в чем смысл этого? Никаких плюсов в этом не вижу, одни минусы. Зачем они раздувают стандарт?

★★★

Because of many of boost's founders are on the C++ standards committee.

ну и назови, что там лишнего добавили по-твоему

anonymous
()
Ответ на: комментарий от anonymous

простите кстати за корявый английский, нет возможности исправить

anonymous
()
Ответ на: комментарий от anonymous

Сейчас изучаю regex, так вот НИКТО его еще не реализовал. Описан от точно так же как его бустовский брат. По этому если тупо добавить namespace boost, то все C++11 примеры с regex будут работать. Стоило ли его вносить в стандартную библиотеку? Может стоило тупо оставить минимум возможностей в стандарте и доверить это сторонним библиотекам?

frozenix ★★★
() автор топика
Ответ на: комментарий от frozenix

Сейчас изучаю regex, так вот НИКТО его еще не реализовал.

ну 4.2 же, у меня g++ 4.6 его поддерживает

anonymous
()
Ответ на: комментарий от frozenix

Может стоило тупо оставить минимум возможностей в стандарте и доверить это сторонним библиотекам?

А лучше вообще все работы заморозить, остановить прогресс, а затем и вовсе коллективно самоубиться.

geekless ★★
()
Ответ на: комментарий от anonymous

Как так? http://gcc.gnu.org/onlinedocs/libstdc /manual/status.html#status.iso.2011

Собивал в kubuntu, opensuse на gcc 4.6, 4.7 ниодин не работал. Все выбрасывали исключения на [] в выражении все пишут что его реализовали только частично.

// Я понимаю, что версия компилятора не имет значения и regex в стандартной библиотеке

frozenix ★★★
() автор топика
Ответ на: комментарий от frozenix

visual c++ новый тоже поддерживает regex, так что написать «НИКТО» вы явно поторопились, или ожидали, что новый стандарт обязан в старых компиляторах заработать?

anonymous
()
Ответ на: комментарий от frozenix

Признаю, ошибся, regex работают на Clang и Visual Studio 2010. Я считал, что у g++ самая лучшая поддержка C++11, оказывается очень сильно заблуждался.

frozenix ★★★
() автор топика
Ответ на: комментарий от frozenix

компилятор не причем

согласен, но по факту стандартная библиотека обычно вместе с компилятором разрабатывается, потому так и сказал, к примеру тот же clang3.0 regex из libstdc++ не «съел», наругавшись при компиляции на хедер

т.к. возможностей у него по этим таблицам весма скупы

стандарт принят относительно недавно, так что 50%( приблизительно ) реализованных фич - уже неплохо

anonymous
()
Ответ на: комментарий от frozenix

Может стоило тупо оставить минимум возможностей в стандарте и доверить это сторонним библиотекам?

1. Стандартная библиотека доступна во всех реализациях, а сторонние библиотеки - необязательно поддерживую твой конкретный компилятор.

2. Boost - это не одна библиотека, а набор библиотек, не всегда хорошо интегрированных друг с другом.

Саттер на GoingNative 2012 призвал вносить предложения в комитет по расширению стандартной библиотеки, т.к. по объему стандартной библиотеки С++ отстаёт как от Java 7, так и от .NET Framework 4.0. С его точки зрения в стандарт (Portable C++ Library) должны войти не только низкоуровневые библиотеки для ФС, сети, продолжений, сериализации, но и высокоуровненвые для HTTP, HTML, XML, XSLT, JSON, криптографии, сжания, аудио/видео, БД.

Begemoth ★★★★★
()
Ответ на: комментарий от frozenix

Угу, лучше с монотонно возрастающим восторгом ждем нового стандарта где ST = Boost + GUI

Вот GUI в стандарт Саттер не хочет включать.

Begemoth ★★★★★
()
Ответ на: комментарий от frozenix

Я считал, что у g++ самая лучшая поддержка C++11

Одна из лучших по языковым аспектам, в Visual C++11 не будет variadic templates, которые в GCC уже давно реализованы.

Begemoth ★★★★★
()

Что лишнего перенесли? Смысл в том, чтобы не изобретать велосипед, а просто перетащить самое необходимое из буста.

Deleted
()

Если уберешь что-то, то станен несовместимо и закидают какашками. Несовместимо надо делать в принципиально новых вещах с нескучными обоями. Если что-то уже существует, то надо тешить ЧСВ жрущих кактус олдфагов

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Если уберешь что-то, то станен несовместимо и закидают какашками

Не всегда, из C++11 убрали export, но это отдельный случай :-)

Begemoth ★★★★★
()
Ответ на: комментарий от Deleted

Смысл в том, чтобы не изобретать велосипед, а просто перетащить самое необходимое из буста.

К слову, комитет уже занимался изобретением велосипеда - это экспорт шаблонов, что в результате получилось хорошо известно. Но комитет не просто перетаскивал библиотеки из буста, например, деструктор std::thread неотсоединённого потока вызывает std::terminate в отличие от boost::thread, который просто ничего не делает.

Begemoth ★★★★★
()

Окститесь!

C++ умер лет 10 назад, долго агонизируя. Не насилуйте труп.

// C++ developer.

schizoid ★★★
()
Ответ на: комментарий от Begemoth

но и высокоуровненвые для
аудио/видео

По-моему лишнее, если остальное ещё как-то устаканилось, то в мультимедии разброд и шатание несоизмеримо больше.

GAMer ★★★★★
()
Ответ на: комментарий от Begemoth

Не всегда, из C++11 убрали export, но это отдельный случай :-)

И auto в старом смысле.

Pavval ★★★★★
()

Все чаще замечаю, что добавленные в новый стандарт классы, алгоритмы и т.д. тупо копируются из boost'a в чем смысл этого?

Может ты слабо интересовался бустом? Внесение в стандарт - их цель.

We aim to establish «existing practice» and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries are included in the C++ Standards Committee's Library Technical Report (TR1) and in the new C++11 Standard. C++11 also includes several more Boost libraries in addition to those from TR1. More Boost libraries are proposed for TR2.

Pavval ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.