Tôi muốn viết một cái gì đó như thế này, mà không thể được biên dịch:Kết hợp tăng :: lexical_cast và std :: transform
std::vector<A> as;
std::vector<B> bs(as.size());
std::transform(as.beginn(), as.end(), bs.begin(), boost::lexical_cast<B>);
Nhưng điều này không hoạt động, vì vậy tôi đã tạo ra một functor được làm điều này cho tôi:
template<typename Dest>
struct lexical_transform
{
template<typename Src>
Dest operator()(const Src& src) const
{
return boost::lexical_cast<Dest>(src);
}
};
Có cách nào dễ hơn để thực hiện việc này không?
thnx rất nhiều, nó hoạt động hoàn hảo –