在C++中,要以十六进制打印数字,请执行以下操作:
int num = 10;
std::cout << std::hex << num; // => 'a'
Run Code Online (Sandbox Code Playgroud)
我知道我可以创建一个只需要向流添加内容的操纵器:
std::ostream& windows_feed(std::ostream& out)
{
out << "\r\n";
return out;
}
std::cout << "Hello" << windows_feed; // => "Hello\r\n"
Run Code Online (Sandbox Code Playgroud)
但是,如何创建一个像"十六进制"一样修改项目中的项目的操纵器?举个简单的例子,我如何在这里创建plusone操纵器?:
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"
Run Code Online (Sandbox Code Playgroud)