#include <iostream>
#include <algorithm>
#include <memory>
#include <vector>
#include <string>
namespace p = std::placeholders;
class Miaou
{
public:
Miaou(const std::string & v):
m_v(v)
{
}
void print()
{
std::cout << m_v << std::endl;
}
private:
std::string m_v;
};
int main()
{
std::vector<std::shared_ptr<Miaou> > v =
{std::shared_ptr<Miaou>(new Miaou("a")),
std::shared_ptr<Miaou>(new Miaou("b")),
std::shared_ptr<Miaou>(new Miaou("c"))};
std::for_each(v.begin(),
v.end(),
std::bind(&Miaou::print, p::_1));
return 0;
}
Avec ces constructions additionnelles de ce côté, et les lambdas de l'autre, ce sont tous les algorithmes qui deviennent bien plus utiles. Je rêve de pouvoir enfin donner à std::accumulate la place qui lui revient!
Aucun commentaire:
Enregistrer un commentaire