???????????????????????????????????????????????????????????????????????????????2???????????????????????????????/?????????????????????????????????Щ????????н?????????????????????????????????????????? ????? ??? 1 ????????????? C/C++ ????? Boost ??????????

???????????????

????????? C/C++ ?????к?????? bug?????????д????????????????????????????????????д???????????????????????????磬?Щ????????????? C ?????????????е???????? C++ ???????????С????????????????????д??????????в?????????????????????????????????????????????????????????????????в????????????

????????????????????????

???????????????????????????????????????????????????????? — ???????????????????????Boost ???????????????? ????????????д??????????????????????顣????????????????????????????????????????????????????????????????????e???????????????????????????????????????????

???????? ?嵥 1 ?е???????????????????????????? Boost ??????????

?????嵥 1. ???????????

#ifndef _MYSTRING
#define _MYSTRING
class mystring {
char* buffer;
int length;
public:
void setbuffer(char* s) { buffer = s; length = strlen(s); }
char& operator[ ] (const int index) { return buffer[index]; }
int size( ) { return length; }
};
#endif

????????????????Щ??????飬????????????????????? 0???????Χ????????????′?????????????????嵥 2 ???????Щ?????κ????????????????????????? ?嵥 2 ?е??????????? g++?????κη??????? C++ ?????????????????????????????????????????????????κ????????? Boost ?????? unit_test.hpp ?????а???????????ж??塣

?????嵥 2. ??????????????

#define BOOST_TEST_MODULE stringtest
#include <boost/test/included/unit_test.hpp>
#include "./str.h"
BOOST_AUTO_TEST_SUITE (stringtest) // name of the test suite is stringtest
BOOST_AUTO_TEST_CASE (test1)
{
mystring s;
BOOST_CHECK(s.size() == 0);
}
BOOST_AUTO_TEST_CASE (test2)
{
mystring s;
s.setbuffer("hello world");
BOOST_REQUIRE_EQUAL ('h'?? s[0]); // basic test
}
BOOST_AUTO_TEST_SUITE_END( )