Ami*_*yan 1 c++ methods macros assert
我希望将实现断言宏作为C++中的方法,如.NET Framewrk.
例如在C#中,我们可以像这样调用assert方法:
Debug.Assert(index > -1);
Run Code Online (Sandbox Code Playgroud)
我希望实现断言这样的东西:
#include <assert.h>
class debug
{
public:
static void my_asset(<condition>) // like assert macro
{
// ?
}
};
Run Code Online (Sandbox Code Playgroud)
使用此课程时:
debug::my_asset(index > -1); // Actually should be called assert(index > -1);
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑:
我想在调用时debug::my_asset(index > -1);,它显示正确的文件名和行号,它的工作方式类似于C++资产宏.
assert assert(in <assert.h>或<cassert>)中有几个特性值得关注:
如果不使用宏,则无法在C++中执行这些操作.