000
18.10.2005, 12:44 Uhr
virtual
Sexiest Bit alive (Operator)
|
Hallo,
Wenn man das Problem hat, etwas von Typ X anch Y umzuwandeln, kann man ein nettes Template schreiben:
C++: |
#include <sstream> #include <iostream> #include <string>
template< typename TO, typename FROM > TO lexi_cast( const FROM& from) {
std::stringstream s; s<<from; TO to; s>>to; return to; }
int main() { const char* str = "3.14159265"; std::cout<<str<<" als int: "<<lexi_cast<int>(str)<<std::endl; std::cout<<str<<" als double: "<<lexi_cast<double>(str)<<std::endl; std::cout<<str<<" als std::string: "<<lexi_cast<std::string>(str)<<std::endl; }
|
Ist zwar nicht komplett die eierlegende Wollmichsau, aber - sieht man von der Performance ab, für alle Typen anwendbar, welche eine Stringrepräsentation haben. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |