Как вы используете С++ 11 сегодня?

Это вопрос в двух частях, первый из них наиболее важен и касается:

  • Вы следите за дизайном и эволюцией С++ 11? Какие блоги, группы новостей, комитетные документы и другие ресурсы вы следуете?
  • Даже если вы не используете какие-либо новые функции, как они повлияли на ваши текущие варианты?
  • Какие новые функции вы используете сейчас, либо в производстве, либо иначе?

Вторая часть - это продолжение, касающееся нового стандарта, когда оно окончательно:

  • Ожидаете ли вы использовать его немедленно? Что вы делаете для подготовки к С++ 11, кроме как указано в предыдущих вопросах?
  • Очевидно, что поддержка компилятора должна быть там, но есть еще сотрудники, вспомогательные инструменты и другие факторы, которые следует учитывать. Что больше всего повлияет на ваше усыновление?

Изменить: оригинал действительно был слишком аргументированным; однако меня все еще интересует основной вопрос, поэтому я попытался его очистить и, надеюсь, сделать его приемлемым. Это кажется гораздо лучшим способом, чем дублирование. Несмотря на то, что некоторые ответы отвечали на аргументационный тон, они по-прежнему применяются в той мере, в которой они затрагивают вопросы, а все ответы - это свойство сообщества, которое также должно быть очищено.

Ответ 1

Не могу догадаться, сколько интересует новый С++ 0x, и я уверен, что все, кто знает С++ и использует его, любопытны и жаждут новых новостей об этом.

Я начал использовать все новое из С++ 0x, как только он был реализован из g++. Тем не менее для небольших не переносных проектов. Зачем? - Люди, которые постоянно говорят мне забыть о С++ и полностью переключаются на язык сценариев, чтобы быстрее развивать код и забывать об управлении памятью. Однако мой лучший опыт и знания в С++. Я знаю RAII и ежедневно использую библиотеку Boost. Теперь новые функции заставляют меня писать намного быстрее, чем раньше. Зная, что rvalues ​​здесь, указатели (даже умные) исчезли из кода. Алгоритмы STL с lambdas просто скалы и списки инициаторов делают меня такой счастливой. Автоматическое ключевое слово взбешено.

Итак, моя главная причина использовать С++ 0x сейчас - это скорость разработки.

Ответ 2

Сегодня я не использую С++ 0x, потому что это приведет к потере переносимости кода. Потому что сегодня нет С++ 0x Standard.

Ответ: Нет
Причина: переносимость кода

Ответ 3

Нет, потому что он не полностью реализован в компиляторах, которые я использую.

Когда выйдет С++ 0x и полностью выпущена Visual Studio 2010 вместе с "сопоставлением" g++, я буду использовать С++ 0x, когда смогу. Это, вероятно, потому, что я часто начинаю новые проекты (я делаю игры).

Хотя у меня есть существующая база кода, она меняется каждый раз, когда я выясняю способ сделать что-то лучше; изменение не является препятствием для меня. Использование С++ 0x просто будет другим изменением.

Вы найдете разные мнения с большими кодовыми базами. Некоторые места предпочитают, чтобы код выглядел единообразно, а это означает, что пятнистый С++ 0x не является вариантом: им нужно либо преобразовать всю вещь, чтобы использовать С++ 0x, либо не использовать ее.

Другие места могут способствовать использованию возможностей С++ 0x, и в свободное время попытайтесь установить более старый код для соответствия.

И другие места, такие как я, могут немедленно захотеть воспользоваться всеми возможностями С++ 0x.

Ответ: это зависит.

Ответ 4

Нет, но я хотел бы, особенно для лямбда-функциональности.

Ответ 5

Нет.

Все мое прикладное программное обеспечение разработано на Java. Весь мой быстрый и грязный код выполняется в Python. Вся моя низкоуровневая работа выполняется в C. Обычно я не использую С++ (следовательно, это не повлияло на меня).

Если бы я использовал С++, я бы рассматривал С++ 0x, как я рассматриваю C1x - я убеждаюсь, что мой код не сломается, но я не буду использовать новые функции до тех пор, пока стандарт не будет сделано и вымыто.

Что касается того, буду ли я использовать новые функции, как только стандарт ратифицирует, нет. Процесс будет постепенным. Поскольку обслуживание будет развернуто для моих текущих приложений, я могу добавить его, в зависимости от вероятной выгоды.

Даже новые приложения, которые я пишу, потребуют новых функций языка, прежде чем я буду использовать эти функции.

Ответ 6

Нет, я все еще использую VC6 большую часть времени:(, не получится ли на С++ 0x до 2020 года (возможно, я должен сменить компанию?)

Ответ 7

Я использую много С++ 0x, в частности вариативные шаблоны и функции, авто и decltype и ссылки rvalue.

В то время как вещи могут быть немного забавными, с g++ 4.5 и Visual Studio 10, эти функции теперь довольно стабильны и работают одинаково для обоих компиляторов.

Проекты программного обеспечения, с которых я начинаю сейчас, вероятно, не будут выпущены в течение года или около того, и к тому моменту я ожидаю, что эти новые компиляторы будут доступны в качестве стандартных.

Ответ 8

Да при игре arround на моем собственном коде, который не имеет притязаний, чтобы выйти в природе.

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

Ответ 9

Зависит. Я готов использовать некоторые функции С++ 0x в моей магистерской диссертации (хотя до сих пор я придерживался компиляторов С++ 03 в основном в ожидании VS2010b2)

Я бы не использовал его в реальной профессиональной работе. Для этого я хочу подождать, пока стандарт не будет завершен, а в случае с MSVC, по крайней мере, до тех пор, пока компилятор не будет выпущен в не-бета-версии.

Ответ 10

Я использую TR1 (regex, unordered_map, unordered_set...) и некоторые дополнительные функции, которые будут в следующем стандарте, как (надеюсь) lexical_cast... каждый день, а не только сегодня:)

Ответ 11

Новая работа в этом году, поэтому я с готовностью поменял стороны на мир .NET/С#. Большинство проблем, которые я имел с С++, просто не существуют в С#. Они многое сделали правильно (д-р-а-а-а-а-а-а-а).

Я думаю, что С++ стал монстром, и когда я в последний раз смотрел на него, С++ 0x, похоже, вырастил монстра, а не уменьшал его до действительно необходимого подмножества.

Только мои два цента за субъективный вопрос;)

Ответ 12

Изучение возможностей, появившихся в С++ 0x, было интересно, особенно когда я понял, что уже использовал некоторые из них через С++ TR1. Пока расширенные for ( "foreach" ), static_assert и улучшения в <functional> являются теми, которые я использую больше в программах на С++ 0x.

Он также немного научил меня повторному использованию кода. Попытка уменьшить количество кода, которое я должен изменить, чтобы адаптироваться к С++ 0x и в то же время сохранить код, совместимый с С++, - до 0x, насколько я могу (например, например: материал библиотеки) научил меня интегрировать некоторые исправления и элементы С++ 0x в панель инструментов pre-С++ 0x; в частности, расширение numeric_limits<> для включения членов const_, добавление эмуляции nullptr, добавление default_delete и аналогичные строит и использует (по-видимому, часто забытый, поскольку я не нашел код, используя его, кроме моего) [slist|forward_list].

Я бы сказал, что использование С++ 0x сегодня помогло мне лучше продолжать использовать С++ - pre-0x сегодня. Я не уверен, что скоро буду прыгать в "полный" С++ 0x, учитывая, что Boost помогает покрыть там какую-то землю. И что я не намерен касаться регулярных выражений или потоков с помощью С++ в длинном длинном времени.

Ответ 13

Я использую static_assert, decltype и, иногда, ссылки r-value

Ответ 14

на данный момент все, что я использую, - auto и decltype, так как большая часть моего кода не использует ничего, что требует ссылок на r-значение или подобных вещей, и я вполне доволен авто на данный момент (бьет объявление a итератор вектора отображений)

Ответ 15

unordered_map. Это должно было быть очевидно, когда изначально было указано map, что не все хотели бы оплатить стоимость сортировки своих ассоциативных ключей контейнера, но, ну, по крайней мере, у нас, наконец, есть полностью стандартизованный контейнер STL для него.

Я также использую библиотеку потоков и другие материалы. Ха-ха, я рано усыновляю! Я не работаю, и я не работаю напрямую с кем-либо, поэтому я могу в принципе делать то, что мне нравится с этими вещами.:)