我正在尝试了解 static_assert 和 assert 的使用以及它们之间的区别,但是关于此的来源/解释很少
这是一些代码
// ConsoleApplication3.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "conio.h"
#include "cassert"
#include "iostream"
int main()
{
assert(2+2==4);
std::cout << "Execution continues past the first assert\n";
assert(2+2==5);
std::cout << "Execution continues past the second assert\n";
_getch();
}
对冗余的评论将不胜感激(因为我正在学习“如何使用 C++”)
在cmd中输出
Execution continues past the first assert
Assertion failed: 2+2==5, file c:\users\charles\documents\visual studio 2012\pro
jects\consoleapplication3\consoleapplication3\consoleapplication3.cpp, line 14
我一直在尝试找出它的不同方法和用途,但据我所知,它是运行时检查和 if 语句的另一种“类型”
有人可以澄清用途并解释每个人的作用和它们的区别吗?