我正在尝试编写将为POJ编译的代码。 POJ没有使用C ++ 11,所以我不能使用真正基本的STL函数,如std::to_string
,std::begin
或std::end
。我环顾四周,发现another StackOverflow question询问std::to_string
。为了使用std::to_string
命令编译g++ myfile.cpp
代码,用户建议使用此补丁,该补丁非常有效:
namespace patch
{
template < typename T > std::string to_string( const T& n )
{
std::ostringstream stm ;
stm << n ;
return stm.str() ;
}
}
我想对std::begin
,std::end
和std::stoi
做同样的事情,但我不知道该怎么做。我对STL很不熟悉。我只是希望我的C ++ 11代码能够使用MS-VC ++ 6.0或G ++ 进行编译而不需要任何标志等。我该怎么做?
答案 0 :(得分:5)
非常简单。 例如,这里是std :: begin:
char* reverseCopy(char* destination, const char* source, int num)
{
char placeHolder;
for (int j=0; j<=num; j++)
{
strcpy(destination,source);
}
for (int i=0; i<num; num--)
{
placeHolder = destination[num];
destination[i]=placeHolder;
}
destination[num]='\0';
return destination;
}