10 2012 档案
摘要:类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。摘抄部分:成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函数代码。而我们访问类的成员函数是通过类里面的一个指针实现,而这个指针指向的是一个table,table里面记录的各个成员函数的地址(当然不同的编译可能略有不同的实现)。所以我们访问成员函数是间接获得地址的。所以这样也就增加了一定的时间开销,这也就是为什么我们提倡把一些简短的,调用频率高的函数声明为inl
阅读全文
摘要:#include <iostream>#include <boost/regex.hpp> using namespace std; int main(){ boost::regex reg("\\{([\\w]+)\\}"); std::string s="{afd}lookki{vvvv}kjkj{ddd}{ssss}{fddda}"; boost::sregex_iterator end; for (boost::sregex_iterator it(s.begin(),s.end(),reg); it != end; it
阅读全文
摘要:#include<string>std::stringws2s(conststd::wstring&ws){std::stringcurLocale=setlocale(LC_ALL,NULL);//curLocale="C";setlocale(LC_ALL,"chs");constwchar_t*_Source=ws.c_str();size_t_Dsize=2*ws.size()+1;char*_Dest=newchar[_Dsize];memset(_Dest,0,_Dsize);wcstombs(_Dest,_Source,
阅读全文
摘要:http://dozb.bokee.com/1976532.html模板类:lbasic_regex 用来保存一个“正则表达式”的类。lsub_match 继承于pair<Iterator,Iterator>迭代器组,用来表示匹配的一个结果。lmatch_results sub_match的容器,用来表示一次搜索或匹配算法的所有结果,类似于vector<sub_match>。算法:lregex_math匹配算法,测试一个字符串是否和一个正则式匹配,并通过match_results返回结果。lregex_find 查找算法,查找字符串的一个和正则式匹配的字串,并通过mat
阅读全文
摘要:C++ 使用正则表达式分割字符串#include <iostream>#include <string>#include <boost/regex.hpp>int main(){ std::string s = "who,lives:in-a,pineapple under the sea?"; boost::regex re(",|:|-|\\s+"); boost::sregex_token_iterator p(s.begin(),s.end(),re,-1); boost::sregex_token_itera
阅读全文
摘要:为了能够让用户更清晰的写采集规则,特意把采集回来的源码经过精简之后再进行处理,比如,要删除 <style> </style> <script> </script>注释等内容去除标签垃圾属性等,使用正则表达式,大一点的网页数据,匹配替换为空一次竟然可以达到几百毫秒,吓死人,故自己写了个函数,同样的数据大小1-3毫秒完成.Cpp代码<span><spanstyle="color:#000000;">//------这上面几段垃圾html代码删不掉了,请无视它,自动跑进去的classBaseLib{publi
阅读全文