En C++, pour imprimer un nombre en hexadécimal pour ce faire:
int num = 10;
std::cout << std::hex << num; // => 'a'
Je sais que je peux créer un manipulateur qui ajoute juste des trucs dans le flux de la sorte:
std::ostream& windows_feed(std::ostream& out)
{
out << "\r\n";
return out;
}
std::cout << "Hello" << windows_feed; // => "Hello\r\n"
Cependant, comment puis-je créer un manipulateur qui, comme 'hex', modifie les articles à venir sur le stream? Comme un exemple simple, comment pourrais-je créer l'plusone manipulateur ici?:
int num2 = 1;
std::cout << "1 + 1 = " << plusone << num2; // => "1 + 1 = 2"
// note that the value stored in num2 does not change, just its display above.
std::cout << num2; // => "1"