Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如,我有一个简单的宏
#define MIN(a, b) (a) < (b) ? (a) : (b)
我想用
MIN(pow(2, 3) , 10);
内部公用会带来麻烦。我可以这样做
int a = pow(2, 3); MIN(a, 10);
我正在寻找一种更好的方式,通过保持pow(2, 3)宏来更具可读性?可能吗?谢谢!
pow(2, 3)
您可以std::min改用:
std::min
#include <algorithm> //... double x = std::min(pow(2, 3) , 10);
通常,您应该更喜欢内联函数而不是宏。如果宏的目的是让它适用于多种类型,则可以使用模板。
template <typename T> inline T SomeFunction (T x, T y) { T result; //...do something with x and y and assign to result return result; }