boost의 정확성과 테스트
1394 단어 boost
#include <iostream>
#include <boost/assert.hpp>
using namespace std;
using namespace boost;
double fun(int x)
{
BOOST_ASSERT(x!=0 && "divede by zero");
return 1.0/x;
}
int main()
{
fun(0);
return 0;
}
추가 진단 정보 보기:
#include <iostream>
#include <boost/assert.hpp>
#include <boost/format.hpp>
using namespace std;
using namespace boost;
#define BOOST_ENABLE_ASSERT_HANDLER
namespace boost
{
void assertion_failed(char const * exptr,char const *function,char const * file,long line)
{
boost::format fmt("Assertion failed!
Expression: %s
Function :%s
File %s
Line:%ld
");
fmt % exptr % function % file%line;
cout << fmt;
}
}
double fun(int x)
{
BOOST_ASSERT(x!=0 && "divede by zero");
return 1.0/x;
}
int main()
{
fun(0);
return 0;
}
정적 단언, 오류를 컴파일러로 옮기기
#include <iostream>
#include <boost/static_assert.hpp>
using namespace std;
using namespace boost;
template<typename T>
T my_min(T a,T b)
{
BOOST_STATIC_ASSERT(sizeof(T) < sizeof(int));
return a < b ? a:b;
}
int main()
{
cout << my_min((short)1,(short)3);
//cout << my_min(1L,3L);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Cocos2d-x에서 Boost 사용iOS 및 Android 프로젝트에서 Boost를 사용하는 단계 노트 타이틀은 Cocos2d-x로 했지만 C++를 사용하는 프로젝트라면 따로 Cocos2d-x는 없어도 사용 가능 ※ 단, 헤더 전용으로 사용할 수있는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.