🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #308581

templaty - jak kompilować zależnie od typu T?

#308581
From: Borneq
Date: Fri, 20 May 2016 05:25
17 lines
1584 bytes
template <typename T>
	static T string_to_T(std::string const &val) {
		std::istringstream istr(val);
		T returnVal;
		istr >> returnVal;
		return returnVal;
	}

konwertuje stringa na typ T.
Jeśli T był double, było źle gdy podany string do konwersji nie 
przedstawiał żadnej liczby. Ani wyjątku, ani ustawiania na zero w 
przypadku braku konwersji. (jak zrobić wyjątek tu?)
Zrobiłem T returnVal = 0; i jeśli po konwersji liczba 0 to błędna 
konwersja. Też źle bo zero to legalna liczba, powinien być wyjątek.
Jednak "T returnVal = 0" jest źle gdy T jest stringiem.
Chciałbym sprawdzić jaki rodzaj typu T i zgłaszać wyjątek.
Coś: if  T==string ; else if T=int ; else if T=double
Technical Details
Message-ID: <nhm74p$fsg$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Borneq <borneq@antyspam.hidden.pl>
Newsgroups: pl.comp.lang.c
Subject: templaty - jak kompilować zależnie od typu T?
Date: Fri, 20 May 2016 07:25:44 +0200
Organization: ATMAN - ATM S.A.
Lines: 17
Message-ID: <nhm74p$fsg$1@node2.news.atman.pl>
NNTP-Posting-Host: 91.239.205.105
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1463721945 16272 91.239.205.105 (20 May 2016 05:25:45 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Fri, 20 May 2016 05:25:45 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0
X-Mozilla-News-Host: news://news.atman.pl:119
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit