Implementing a Simple Button Class with std::function
Discover how to implement a Button class using std::function and its optimization.
Using std::function to store actions in a Button class
Assume that we set out to implement a Button class. We can then use the std::function to store the action corresponding to clicking the button so that when we call the on_click() member function, the corresponding code is executed.
We can declare the Button class like this:
class Button {public:Button(std::function<void(void)> click) : handler_{click} {}auto on_click() const { handler_(); }private:std::function<void(void)> handler_{};};
We can then use it to create a multitude of buttons with different actions. The buttons can conveniently be stored in a ...