Skip to content

Commit a01dbde

Browse files
committed
Introduce a paragraph about move_if_noexcept in README.md
1 parent deda7f0 commit a01dbde

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@
2020
уменьшать `capacity`, если это имеет смысл.
2121

2222
Деструкторы элементов должны вызываться в порядке, обратном порядку их вставки.
23+
24+
Для обеспечения строгой гарантии безопасности исключений, в зависимости от того, помечен ли move-конструктор `T` спецификатором `noexcept`, может потребоваться вместо него вызывать конструктор копирования. Чтобы не копировать лишний раз, предлагается воспользоваться функцией из стандартной библиотеки [`std::move_if_noexcept(x)`](https://en.cppreference.com/w/cpp/utility/move_if_noexcept), которая действует как `std::move` тогда и только тогда, когда конструктор перемещения для `x` помечен `noexcept`. Когда вы познакомитесь с шаблонами, вы научитесь и сами реализовывать подобные функции.

0 commit comments

Comments
 (0)