Hacker News new | ask | show | jobs
by evincarofautumn 5084 days ago
If only it didn’t use dynamic allocation…ah well. The value is worth the cost.
1 comments

I don't think std::function does any dynamic allocation when you initialize it with simple functions. When you initialize it with function objects or lambda expression, most, if not all implementations use the small object optimization to avoid dynamic allocation when possible.
With function objects the GNU std::function does do dynamic allocation. Even for objects as small as an empty struct.