我有一个经常使用的宏,灵感来自另一个问题:
#define to_string(x) dynamic_cast<ostringstream &> (( ostringstream() << setprecision(4) << dec << x )).str()
这个非常方便,例如与接受字符串输入的函数一起使用:
some_function(to_string("The int is " << my_int));
但是有人告诉我在 C++ 中使用宏是不好的做法,事实上我在让上述内容在不同的编译器上工作时遇到了问题。有没有办法把它写成另一种结构,例如一个功能,它会在哪里具有相同的多功能性?
最佳答案
在 C++11 和更高版本中我们现在有 std::to_string
.我们可以使用它将数据转换为字符串并将其附加到您想要的任何内容。
some_function("The int is " + std::to_string(my_int));
关于c++ - 将 C++ 宏重写为函数等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33280324/