C++0x (Елена Сагалаева на ADD-2010)

Материал из CustisWiki
Перейти к: навигация, поиск

Аннотация

Елена Сагалаева, ведущая известный блог alenacpp.blogspot.com, представила доклад о разработке нового стандарта языка С++: чего хотели добиться, чего получилось, от чего пришлось отказаться.

Разработчики компиляторов GCC и MSVC++ не стали дожидаться выхода стандарта и уже много чего реализовали. Рассказ о некоторых наиболее интересных вещах из С++0х, которые можно использовать уже сейчас.

Видео


Подкаст

Презентация

C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf C++0x (Елена Сагалаева на ADD-2010).pdf


Примечания

C++0x (Елена Сагалаева на ADD-2010)

Так как многопоточное программирование было очень длинным докладом, решил забежать на Алену про новый стандарт C++. Сейчас все пишут на стандарте, написанном в 1998 году. Это о многом говорит. Новый должен был появиться в 200x году, но появится не раньше 2011го. Основная цель — уменьшить порог входа, сделать удобнее для написания системных библиотек, оставить по максимуму обратную совместимость.

Что будет:

  • Теперь можно будет писать List<List<int>> (раньше две угловые скобки нельзя было писать подряд =)).
  • auto (var в С#).
  • Инициализация списков в фигурных скобках.
  • Лямбды. Причем можно замыкать и по ссылке, и по значению. Синтаксис кривоват.
  • Диагностика по словам докладчика все такая же.

C++0x (Елена Сагалаева на ADD-2010)

Второй доклад Елены был о нелегкой доле в современном мире мощнейшего языка C++. Стандарт давно морально устарел и требует доработок, есть большая проблема — обучение и обучаемость языку. Выпуск нового стандарта постоянно откладываются, так как процесс его проработки очень демократичен и занимает много времени. Последний анонс — 2011 год. Сейчас уже ясно, что в нем отказались от сборки мусора и от концепций, урезали потоки. Но разработчикам компиляторов надо как-то жить, они вынуждены реализовывать полезные фичи, не дожидаясь официального выпуска стандарта. Далее рассмотрели несколько фич в разрезе трех компиляторов: GCC 4.5.1, VC++2010, IntelC++ 11, кто и как эти фичи реализовал:

  • auto
  • списки инициализации
  • лямбда-функции
  • лямбда-capture
  • замыкания
  • nullptr
  • атрибуты (никем не реализованы)
  • long long int

C++0x (Елена Сагалаева на ADD-2010)

Текущий стандарт C++ аж 98-го года и давно морально устарел.

Зачем что менять? Вот:

  1. Сделать язык лучше для системного программирования
  2. Облегчить обучение языку

Но при этом сохранить обратную совместимость по максимуму.

В марте 2010 вышел draft нового стандарта C++, принятие которого ожидали еще в двухтысячные годы (потому и 0x). Но в стандарт не вошли некоторые ожидаемые вещи, например сборка мусора.

Производители компиляторов не стали дожидаться выхода стандарта и уже частично его поддерживают. В докладе показывались новые возможности языка и поддержка этих возможностей компиляторами GCC 4.5.1, MS VC++ и Intel C++.


Репликация: База Знаний «Заказных Информ Систем» → «C++0x (Елена Сагалаева на ADD-2010)»

Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».