Viv*_*rma 0 c c++ coding-style
与人讨论,在面试中询问或在面试中被问到,我不知道我是否确切知道何时将内联函数编写为宏或将其写为宏.除了编译时和运行时考虑之外,从编码标准的角度来看是否有任何建议.
我认为这是程序员偏好的问题之一,或者可能会说偏向于使用.如果成员可以引用轶事,经验或情况,他们选择了一个而不是另一个,我可能是一个好主意.
小智 5
在功能根本无法完成工作的情况下,应谨慎使用宏.一个例子是错误报告.我为此目的使用此宏:
#define ATHROW( msg ) \
{ \
std::ostringstream os; \
os << msg; \
throw ALib::Exception( os.str(), __LINE__, __FILE__ ); \
} \
Run Code Online (Sandbox Code Playgroud)
这必须是一个宏,以便使用标准__FILE__和__LINE__宏获取正确的文件和行号,并提供错误格式,以便我可以这样说:
ATHROW( "Value " << x << " is out of range" );
Run Code Online (Sandbox Code Playgroud)