static_assert 适合在编译时测试代码中的逻辑。 assert 适用于在运行时检查一个您期望应该始终有一个结果的案例,但在意外情况下可能会以某种方式产生意外结果。例如,您应该只使用 assert 来确定传递给方法的指针是否为 null 似乎永远不会发生。 static_assert 不会明白这一点。 他们做任何简单的 if 语句不能做的事...
static_assert 是为了使 编译 失败并显示指定的消息,而传统的 assert 是为了结束程序的执行。 原文由 Nicola Musatti 发布,翻译遵循 CC BY-SA 3.0 许可协议 有用 回复 查看全部 2 个回答 推荐问题 c++模板类链表链接错误? 我想实现一个模板链表,但是每次都报链接错误,问题在LinkList模板类的模板成员函数调用时,...