«Functional (C++)»–ի խմբագրումների տարբերություն

Content deleted Content added
No edit summary
No edit summary
Տող 194.
Առաջին անգամ <tt>std::mem_fn</tt> կաղապարային ֆունկցիան հայտնվել է Member Function գրադարանում (Boost 1.25.0 տարբերակով)<ref name="BoostLibs" />։ Այն նույնպես ներառվել է C++ TR1-ում և С++11-ում։ Boost գրադարանում այն կատարելագործվում էր, ինչպես <tt>std::mem_fun</tt> и <tt>std::mem_fun_ref</tt> ստանդարտ ֆունկցիաների ընդհանրացում։
 
== Փաթեթների հղումներ ==
В заголовочном файле <tt><functional></tt> определен небольшой вспомогательный класс <tt>std::reference_wrapper</tt>, который оборачивает в себе [[Ссылка (C++)|ссылку]] на объект, или ссылку на функцию, переданную ему в шаблоне. Он может быть полезен для передачи ссылок шаблонам функций (к примеру, в [[Algorithm (C++)|алгоритмах]]), которые обычно делают [[Конструктор копирования|копии объектов]] при передаче по значению. Всё, что делает <tt>reference_wrapper</tt>, это хранение ссылки на переданный в шаблоне тип <tt>T</tt>, и выдачу её при обращении <tt>operator T& ()</tt>.
 
Впервые шаблонный класс <tt>reference_wrapper</tt> появился в библиотеке Ref в версии Boost 1.25.0<ref name="BoostLibs" />. С некоторыми доработками он был включен в С++11.
 
Для создания объектов <tt>reference_wrapper</tt> предоставлены вспомогательные функции <tt>ref</tt> и <tt>cref</tt>, определённые следующим образом:
<source lang="cpp">
template <class T> reference_wrapper<T> ref(T& t) noexcept;
template <class T> reference_wrapper<const T> cref(const T& t) noexcept;
</source>
 
== Տես նաև ==
Տող 199 ⟶ 209՝
* [[C++11]]
* [[C++ լեզվի ստանդարտ գրադարան]]
 
 
== Ծանոթագրություններ ==