![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Iron Bug |
![]()
Сообщение
#1
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Вот, положу-ка я сюда полезные линки по фичам нового стандарта С++, для просвещения молодёжи
![]() Я последние дни сидела и ковыряла новые возможности C++. Честно говоря, даже для меня некоторые вещи оказались неожиданными и очень полезными. А вы умеете передавать параметры функций без операций копирования памяти? Теперь с С++ это возможно! Link Эту статью вообще полезно прочитать всем, кто пишет на C++. У этого автора есть другие статьи и ссылки на полезные материалы: Link Также там я нашла ссылку на весьма любопытный сайт, посвящённый вопросам современного С++: Link Там есть интересные вещи про оптимизацию. Например: Link Для любителей головоломок с шаблонами: Variadic templates (шаблоны с переменным числом аргументов): Link (документ pdf) Пока поддерживается GCC и MinGW. Часть примеров реально используется в бусте, в библиотеке interprocess. Вот пока самое ценное, что я накопала по новому стандарту. Появится ещё полезный материал - буду сюда ссылки кидать. Сообщение отредактировал Iron Bug - 18.11.2011, 16:01 |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Ну тогда сюда просто необходимо так же добавить описание работы с таким нововведением как Link
А так же:Link, пример:
|
|
|
Iron Bug |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
ну, это простые и понятные мелочи. по ним есть исчерпывающие примеры на обычных сайтах. я искала подробные статьи по сложным нововведениям.
лямбда функции в бусте сто лет назад появились, я даже и не обратила на них внимания ![]() да и range-based loops, по сути - чисто синтаксис. код там тот же самый, что и раньше, при объявлении через итератор. просто пишется кратко. но может, и это кому-то пригодится. а вот rvalue reference - это уже совершенно новый метод работы с памятью. так же как и variadic templates. у них нет аналогов или замен в предыдущих стандартах. особенно последнюю фичу я долго ждала. и дико обломалась, когда узнала, что мелкософт на неё просто забил в VC++ 11. теперь под вендой пока юзаю MinGW, хотя отладка там неудобная. |
|
|
Iron Bug |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
В новой студии Microsoft Visual Studio 2013 появилась поддержка Variadic templates (стандарт С++11).
У них это не поддерживалось, когда-то давно я им об этом писала - вот, сообщили, что сделали, наконец-то. Я даже удивилась ![]() Цитата Variadic templates are supported in Visual Studio 2013. See Link for the full list. Ну и какбэ новая студия выпущена, 2013-я. Пройдя по ссылке выше, можно про неё прочитать. Там ещё дополнения по стандарту есть. Кстати, там можно скачать студию 2013: Link Триальные версии - 30 дней, плюс Express, как всегда. Ещё появилась какая-то шняга для тестирования и ведения проектов (как я поняла) - Visual Studio Test. Для скачивания нужна только регистрация на их сайте (это бесплатно и делается моментально). Скачаем - посмотрим. Сообщение отредактировал Iron Bug - 23.10.2013, 7:13 |
|
|
Анна |
![]()
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: ![]() ![]() ![]() |
Пока никак не сталкивалась с новым стандартом на практике , зато литературе несколько раз встречала с таким описанием класса
Правильно ли понимаю, что без Foo(const Foo&) = delete; по новому стандарту, встретив что-то вроде
компилятор сам сгенерит конструктор для копии, а с Foo(const Foo&) = delete; такая самодеятельность приведёт к ошибке? |
|
|
Iron Bug |
![]()
Сообщение
#6
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
обычно компилятор сам генерит конструкторы по умолчанию. default лишь ещё раз явно это указывает.
а delete запрещает эту автогенерацию. P.S. компилятор от мелкософта просто игнорирует данные настройки. он хоть и не ругается, но и ничего не делает. Сообщение отредактировал Iron Bug - 3.12.2013, 13:58 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
чёт я относительно delete не понял. Само слово никакого запрета не подразумевает, а подразумевает удаление чего-либо.
Да и чтобы запретить внешний вызов конструктора копирования его достаточно в раздел private поместить. |
|
|
Iron Bug |
![]()
Сообщение
#8
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 4.12.2013, 15:30) Link чёт я относительно delete не понял. Само слово никакого запрета не подразумевает, а подразумевает удаление чего-либо. тут не надо ничего понимать. надо читать спецификацию на С++11. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 20.8.2025, 10:14 |