示例
#include <iostream>
#include <map>
#include <functional>
int main()
{
std::multimap<int, std::function<void (int &)>> myMultimap;
auto callback = [](int& i) {std::cout << i << std::endl;};
auto callback2 = [](int& i) {std::cout << i*i << std::endl;};
int key=10;
myMultimap.emplace(std::make_pair<int, std::function<void (int& i)>>(std::move(key), callback));
myMultimap.emplace(std::make_pair<int, std::function<void (int& i)>>(std::move(key), callback2));
int i = 1000;
for (const auto& p : myMultimap) {
p.second(i);
}
return 0;
}
输出
1000
1000000