이 같은 시도 할 수 :
#include <sstream>
template <class Dest>
class lexical_cast
{
Dest value;
public:
template <class Src>
lexical_cast(const Src &src) {
std::stringstream s;
s << src;
s >> value;
}
operator const Dest &() const {
return value;
}
operator Dest &() {
return value;
}
};
오류 검사 포함 : 당신이 당신의 예에 명시된 바와 같이 그것을 가지고
#include <sstream>
#include <iostream>
template <class T>
void FromString (T & t, const std::string &s)
{
std::stringstream str;
str << s;
str >> t;
}
int main()
{
std::string myString("42.0");
double value = 0.0;
FromString(value,myString);
std::cout << "The answer to all questions: " << value;
return 0;
}
나는이 버전을 훨씬 선호한다! –
스트림 오류는 어떻게됩니까? –
@PeterWood 답변을 업데이트했습니다. – kay