次のコードは、をに変換しstd::string
ますboost::posix_time::ptime
。
プロファイリング後、その関数で費やされた時間のほとんど(約90%)が、のメモリの割り当てで無駄になっていることがわかりましたtime_input_facet
。私は次のコードを完全には理解していないことを認めなければなりません。特に、なぜそれtime_input_facet
を空きメモリに割り当てなければならないのかを理解していません。
using boost::posix_time;
const ptime StringToPtime(const string &zeitstempel, const string &formatstring)
{
stringstream ss;
time_input_facet* input_facet = new time_input_facet();
ss.imbue(locale(ss.getloc(), input_facet));
input_facet->format(formatstring.c_str());
ss.str(zeitstempel);
ptime timestamp;
ss >> timestamp;
return timestamp;
}
割り当てを取り除く方法はありますか?