Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> новое в С++11 
V
    Опции темы
boostcoder
Дата 9.9.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



всем привет.

лазая по доке std::vector обнаружил новый метод, доступный только в С++11 - emplace().
описание:
Цитата

Inserts a new element to the specified position in the container. The element is constructed in-place, i.e. no copy or move operations are performed. The constructor of the element is called with exactly the same arguments, as supplied to the function.


это же здорово! как считаете?

Добавлено @ 20:28
еще у него есть emplace_back().

Добавлено @ 20:30
у deque - emplace(), emplace_front(), emplace_back()
Добавлено @ 20:32
о! новый контейнер: std::forward_list.
описание:
Цитата

Forward list is a container which supports fast insertion and removal of elements from anywhere from the container. Fast random access is not supported. It is implemented as singly-linked list and essentially does not have any overhead compared to its implementation in C. Compared to lists this container provides more space efficient storage, when bidirectional iteration is not needed.


Добавлено @ 20:35
и тут я задумался, как же emplace() использовать с std::map к примеру.
и что вы думаете, стандарт решил так:
Цитата

Inserts a new element to the container. The element is constructed in-place, i.e. no copy or move operations are performed. The constructor of the element type(value_type) is called as follows: the first argument is used to construct the key, the rest of the arguments are used to construct the value.

не растерялись smile

Добавлено @ 20:37
а ща придет дядя Daevaorn и потрет накер всю тему...

Это сообщение отредактировал(а) boostcoder - 10.9.2011, 10:53
PM WWW   Вверх
boostcoder
Дата 9.9.2011, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



вах! еще один новый тип! вроде как даже очень полезный!
std::type_index:
Цитата

The type_index class is a wrapper class around a type_info object, that can be used as index in associative and unordered associative containers. The relationship with type_info object is maintained through a pointer, therefore type_index can be copy-constructed and copy-assigned.


Добавлено через 12 минут и 11 секунд
еще одна полезная функция: std::tuple_cat.
PM WWW   Вверх
boostcoder
Дата 9.9.2011, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



новые алгоритмы: std::all_of, std::any_of, std::none_of.
std::find_if_not.
вообще, новых много. устану перечислять.
http://en.cppreference.com/w/cpp/algorithm

куча математических функций добавилась: http://en.cppreference.com/w/cpp/numeric/math

ах да, из буста в стандарт перенесли нормальный генератор псевдослучайных чисел: http://en.cppreference.com/w/cpp/numeric/random
дока правда еще не дописана.

но а регекспы наверное уже не для кого не новость: http://en.cppreference.com/w/cpp/regex

ну и дока по трэдам. почти вся smile
http://en.cppreference.com/w/cpp/thread

всем спасибо.

Это сообщение отредактировал(а) boostcoder - 9.9.2011, 21:13
PM WWW   Вверх
volatile
Дата 9.9.2011, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(boostcoder @  9.9.2011,  20:26 Найти цитируемый пост)
лазая по доке std::vector обнаружил новый метод, доступный только в С++11 - emplace().
описание:
Цитата
Inserts a new element to the specified position in the container. The element is constructed in-place, i.e. no copy or move operations are performed.

Здорово конечно, но надо бы им сказать, что все элементы, которые находятся после вставляемого, будут перемещены, и к ним будет применен
Цитата(boostcoder @  9.9.2011,  20:26 Найти цитируемый пост)
copy or move operations are performed.

А то слишком задорно звучит, как в рекламе.

PM MAIL   Вверх
boostcoder
Дата 9.9.2011, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



volatile, "они"-то тут при чем? используй список. у него тоже есть emplace(), emplace_front(), emplace_back().

Это сообщение отредактировал(а) boostcoder - 9.9.2011, 21:15
PM WWW   Вверх
FCM
Дата 10.9.2011, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.3.2009

Репутация: нет
Всего: 9



Цитата(boostcoder @  9.9.2011,  21:02 Найти цитируемый пост)
куча математических функций добавилась: http://en.cppreference.com/w/cpp/numeric/math

Наверное, перекочевали из C99, который g++ должен поддерживать и без С++11.  


Это сообщение отредактировал(а) FCM - 10.9.2011, 17:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1253 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.