类型转换lexical_cast
最近发现除了Qt外,用boost做一些类型转换也很好,这样可以避开QString这样的Qt数据类型了,需要使用的时模板函数lexical_cast
,需要try catch1
2
3
4
5
6
7
8
9try
{
string s = "123";
int num = boost::lexical_cast<int>(s);
}
catch (boost::bad_lexical_cast& e)
{
cout<<e.what()<<endl;
}
BOOST_FOREACH
只需要头文件#include <boost/foreach.hpp>
1 | vector<int> ages; |
实际使用中,最好定义一个宏:#define Foreach BOOST_FOREACH
,宏最好不要是foreach
,容易跟其他库(例如Qt)冲突