Что C++ 0x функция окажет большую часть влияния? [закрытый]

18
задан 6 revs, 4 users 60%Roger Pate 10 June 2010 в 21:33
поделиться

12 ответов

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

25
ответ дан 30 November 2019 в 05:34
поделиться

Циклы for на основе диапазона.

for (int x: numbers) std::cout << x << " ";

Ура!

21
ответ дан 30 November 2019 в 05:34
поделиться

Лично я считаю, что семантика перемещения (и ссылки на rvalue в целом) являются наиболее важным изменением, наравне с потоками/блокировками/атомами. Все остальное — это, более или менее, упрощение синтаксиса или стандартизация общих сторонних решений — мы можем писать функторы, когда нам нужны лямбды, и у нас есть многочисленные библиотеки regex.Даже из-за отсутствия атомарных операций были некоторые решения, но не было конструкторов перемещения/операторов назначения перемещения.

Способность перемещать предметы меняет все восприятие языка для меня. Несмотря на то, что у нас уже был RVO и трюк с переходом на временное, чтобы подражать некоторым из них, трудно представить, как меняется жизнь, когда это является частью повседневной жизни. Это не просто ofstream("log.txt") << "Привет!"; , или гораздо более быстрые алгоритмы STL, это совершенно новый способ передачи данных между функциями.

37
ответ дан 30 November 2019 в 05:34
поделиться

Поддержка Юникода. Больше никаких булыжник и хаков, чтобы получить правильную обработку символов юникода - теперь весь стандарт юникода изначально поддерживается языком.

18
ответ дан 30 November 2019 в 05:34
поделиться

Стандартные средства для потоковой передачи и синхронизации.

4
ответ дан 30 November 2019 в 05:34
поделиться

Мы перешли на 2010 год около месяца назад. Две наиболее распространенные вещи, которые мы использовали, - это авто и лямбда. Ссылки на Rvalue позволили мне сделать много вещей, которые раньше были невозможны, но в повседневном использовании они не используются как лямбда и авто.

2
ответ дан 30 November 2019 в 05:34
поделиться

Это отличная статья о новых функциях. Расширение нового стандарта C ++ (C ++ 0x) и его реализация в VC10

Ключевое слово auto Для автоматического определения типа данных (во время компиляции ) в зависимости от инициализации.

Ключевое слово decltype Для выведения типа данных из выражения или автоматической переменной

Ключевое слово nullptr Нулевой указатель теперь повышено, и ему было присвоено ключевое слово!

Ключевое слово static_assert Для утверждений времени компиляции. Полезно для шаблонов и проверок, которые нельзя выполнить с помощью #ifdef.

Лямбда-выражения Локально определенные функции. Наследует функции от указателей на функции и объектов класса (функторов).

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

Ссылки R-значения Семантика перемещения - использование ресурсов до того, как временный объект будет уничтожен.

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

2
ответ дан 30 November 2019 в 05:34
поделиться

auto , потому что люди будут злоупотреблять им.

26
ответ дан 30 November 2019 в 05:34
поделиться

авто , лямбды и интеллектуальные указатели.

7
ответ дан 30 November 2019 в 05:34
поделиться

Концепции . Наконец, мы сможем проверять типы шаблонов перед их созданием, и когда мы создадим их некорректно, мы получим разумные сообщения об ошибках. Ой! Комитет C ++ 0X не смог согласиться и в конце концов выбросил их. Ну что ж, подождите C ++ 1X ...

-1
ответ дан 30 November 2019 в 05:34
поделиться

Регулярные выражения как стандартная библиотека - вы знаете, что они вам нужны.

2
ответ дан 30 November 2019 в 05:34
поделиться

auto в циклах for, и lambdas для алгоритма, я начну массовое использование for_each.

0
ответ дан 30 November 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: