Removing Old functional Stuff
In this lessons we will look at some removeed functions.
Functions like bind1st()
/bind2nd()
/mem_fun()
, … were introduced in the C++98-era and are not needed now as you can apply a lambda. What’s more, the functions were not updated to handle perfect forwarding, decltype
and other techniques from C++11. Thus it’s best not to use them in modern code.
Removed functions:
unary_function()
/pointer_to_unary_function()
binary_function()
/pointer_to_binary_function()
bind1st()
/binder1st
bind2nd()
/binder2nd
ptr_fun()
mem_fun()
mem_fun_ref()
For example to replace bind1st
/bind2nd
you can use lambdas or std::bind
(available since C++11) or std::bind_front
that should be available since C++20.
Get hands-on with 1400+ tech skills courses.