05 2013 档案
漫谈数据挖掘从入门到进阶
摘要:做数据挖掘也有些年头了,写这篇文一方面是写篇文,给有个朋友作为数据挖掘方面的参考,另一方面也是有抛砖引玉之意,希望能够和一些大牛交流,相互促进,让大家见笑了。入门:数据挖掘入门的书籍,中文的大体有这些:JiaweiHan的《数据挖掘概念与技术》IanH.Witten/EibeFrank的《数据挖掘实用机器学习技术》TomMitchell的《机器学习》TOBYSEGARAN的《集体智慧编程》AnandRajaraman的《大数据》Pang-NingTan的《数据挖掘导论》MatthewA.Russell的《社交网站的数据挖掘与分析》很多人的第一本数据挖掘书都是JiaweiHan的《数据挖掘概念与
阅读全文
STL源码中对Namespace的条件编译
摘要:现代程序猿们对Namespace(命名空间)的使用已经习以为常了,而且现在的编译器对Namespace肯定都有比较好的支持。但是有没有想过在很遥远的某个年代,当时编译器并不支持Namespace?这种情况当然是存在的,所以为了保持向后兼容性,STL中使用了条件编译。最近读STL源码(SGI版本)的时候发现了一种很奇怪的情况:有些头文件中包含了“__STL_BEGIN_NAMESPACE”和“__STL_END_NAMESPACE”这样不伦不类的语句,而且编辑器在下面加上了下划线,显然是编辑器所不能解析的。在网上搜索了一下,发现原因如下:#ifndef __SGI_STL_INTERNAL_IT
阅读全文
关于智能指针
摘要:读《C++ Stragegies and Tacitics》的时候看到了一段很NB的代码,是关于智能指针的 (程序稍作修改,以便在编译器上运行): 1 #include <string> 2 using namespace std; 3 4 class String_ptr { 5 private: 6 string *ptr; 7 public: 8 String_ptr(string *s) : ptr(s) {} 9 string* operator ->() const {return ptr;}10 operator string*() const...
阅读全文
delete this--对象请求自杀
摘要:第一次见delete this的时候,没觉得这是一项会有什么特殊作用的技术,因此也就没有特别关注。 昨日在sourcemaking.com上看state模式之c++实现的时候,看到它在状态转换的时候使用了delete this,感觉似乎还不错。 作为一种“禁术”,使用的时候必须要相当小心才行,《C++ FAQ》里提到所谓“小心”至少包括以下几个方面:this对象是必须是用new操作符分配的(而不是用new[],也不是用placement new,也不是局部对象,也不是global对象);delete this后,不能访问该对象任何的成员变量及虚函数(delete this回收的是数据,这包括对
阅读全文
一段有意思的代码:类实现中将信息存储到其他位置
摘要:今天在看《C++ Strategies and Tactics》的时候发现了一段非常有意思的代码: 1 class Complex_rep { 2 private: 3 friend class Complex; 4 double real_d; 5 double image_d; 6 Complex_rep(double r, double i) : real_d(r), image_d(i) { 7 8 } 9 };10 11 class Complex {12 private:13 Complex_rep *rep;1...
阅读全文