Je suis à la recherche d'un foncteur unaire qui va déréférencer son argument et retourner le résultat. Bien sûr, je peux en écrire un, il semblait juste que quelque chose devrait déjà exister.Y a-t-il un Functor d'Indirection?
Donc, étant donné le code:
const auto vals = { 0, 1, 2, 3 };
vector<const int*> test(size(vals), nullptr);
iota(begin(test), end(test), data(vals));
transform(cbegin(test), cend(test), ostream_iterator<int>(cout, " "), [](const auto& i){ return *i; });
J'espérais qu'il y avait un foncteur que je pouvais utiliser au lieu du lambda. Est-ce qu'une telle chose existe, ou dois-je simplement utiliser le lambda?
J'ai trouvé réponse très probable pourquoi la fonctionnalité n'a pas été ajouté à 'std' [ici] (http://forums.codeguru.com/showthread.php?495892-std- dereference-and-std-reference & p = 1933466 # post1933466) –
@WF C'est intéressant, j'ai lu ce post avant de poser la question. L'exemple que j'ai donné est un MCVE, [mon cas d'utilisation réel pour cela] (http://stackoverflow.com/a/41486541/2642059) * est * un 'vecteur :: const_iterator>' :( –