c++如何将访问输入断言为字符串

How does C++ assert access input as a string

本文关键字:输入断言 字符串 访问 c++      更新时间:2023-10-16

我对c++比较陌生,所以放轻松。当assert得到的值为false时,我在终端中得到如下内容:

test: test.cpp:185: void test(): Assertion `actual == testing` failed.
Aborted

assert如何将输入作为字符串?断言不只是"看到"是真还是假?

您可以将自己版本的assert作为宏实现。这可能是你的编译器实现它的方式,也可能不是。

由于#something将展开为它的字符串化版本,您可以这样做:

#define str(s) #s
#define assert(x) if(!x) {print(".... Assertion `" str(s) "` failed.")