005
13.09.2009, 14:38 Uhr
FunnyDingo
|
Ich habe es auch "nur" mit Rückgabe std::string implementiert. Aber eine Frage hätte ich dazu noch:
So hätte ich es gerne, geht aber nicht (bekomme "undefined reference"). Liegt es daran weil es ein template ist? string.h
C++: |
namespace yac { namespace string { template<typename from> std::string convert(from const &); std::vector<std::string> explode(std::string, std::string); } }
|
string.cpp
C++: |
template<typename from> std::string yac::string::convert(from const &x) { std::ostringstream converter;
converter << x;
if(!converter) throw std::invalid_argument("convert failed");
return converter.str(); }
std::vector<std::string> yac::string::explode(std::string s, std::string e) { std::vector<std::string> ret; size_t iPos = s.find(e, 0); size_t iPit = e.length();
while(iPos != std::string::npos) { if(iPos!=0) ret.push_back(s.substr(0,iPos)); s.erase(0,iPos+iPit); iPos = s.find(e, 0); } if(s!="") ret.push_back(s); return ret; }
|
-- "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)
Meine Website: http://www.funnydingo.de Dieser Post wurde am 13.09.2009 um 14:41 Uhr von FunnyDingo editiert. |