摘要: C++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。 刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以... 阅读全文
posted @ 2014-05-29 16:11 Jessica程序猿 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++... 阅读全文
posted @ 2014-05-29 12:58 Jessica程序猿 阅读(759) 评论(0) 推荐(0) 编辑
摘要: #include using std::bad_cast;#include using std::cout; using std::endl;struct A { virtual ~A() { } };struct B : virtual public A { /* . . . */ };struc... 阅读全文
posted @ 2014-05-29 12:53 Jessica程序猿 阅读(298) 评论(0) 推荐(0) 编辑
摘要: dynamic_cast (expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static... 阅读全文
posted @ 2014-05-29 09:43 Jessica程序猿 阅读(2363) 评论(0) 推荐(0) 编辑
摘要: 一、继承的构造函数在C++11新标准中,派生类能够重用其直接基类的构造函数。尽管如我们所知,这些构造函数并非以常规的方式继承而来,但是为了方便,我们不妨姑且称其为“继承”的。一个类只初始化它的直接基类,出于同样的原因,一个类也只继承其直接基类的构造函数。类不能继承默认、拷贝和移动构造函数。如果派生类... 阅读全文
posted @ 2014-05-28 17:26 Jessica程序猿 阅读(1536) 评论(3) 推荐(0) 编辑
摘要: 我们可以调用std下的swap函数,这是一个模板函数:既可以: int a = 1; int b = 2; std::swap(a,b); coutp->getVal(); } void swap(Test& other) { using st... 阅读全文
posted @ 2014-05-28 16:28 Jessica程序猿 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 布隆过滤器 假如有1亿个不重复的正整数(大致范围已知),但是只有1G的内存可用,如何判断该范围内的某个数是否出现在这1亿个数中?最常用的处理办法是利用位图,1*108/1024*1024*8=11.9,也只需要申请12M的内存。但是如果是1亿个邮件地址,如何确定某个邮件地址是否在这1亿个地址中... 阅读全文
posted @ 2014-05-27 17:16 Jessica程序猿 阅读(352) 评论(0) 推荐(0) 编辑
摘要: C++0x引入了新的关键字decltype,它是一个操作符,用来取得表达式的类型,主要在泛型编程中使用。这里,简单介绍一下语法规则。语法形式:decltype (expression)其中,这里的括号必不可少(这点不同于sizeof操作符)。decltype(e)可看到是一个类型别名,并且不会对表达... 阅读全文
posted @ 2014-05-26 09:08 Jessica程序猿 阅读(764) 评论(0) 推荐(0) 编辑
摘要: decltype类型指示符有时候遇到这种情况:希望从表达式的类型推断出要定义的变量的类型,但是不想用该表达式的值初始化变量。为了满足这一要求,C++11新标准引入了第二种类型说明符decltype,它的作用是选择并返回操作数的数据类型。在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的... 阅读全文
posted @ 2014-05-25 23:27 Jessica程序猿 阅读(1321) 评论(1) 推荐(0) 编辑
摘要: “overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的方式来洗车,或者用洗衣服 的方式来洗一件衣服,但是谁也不会... 阅读全文
posted @ 2014-05-25 10:39 Jessica程序猿 阅读(247) 评论(0) 推荐(0) 编辑