摘要:本文是翻译文章,主要介绍了运行时重载C++类的技术,包括了Linux上的动态加载接口、C++类的动态加载技术点及实现、自动加载技术等。最后给出了两个应用案例及相关的源代码。
关键字:动态加载,C++类,Linux
原文链接:http://porky.linuxjournal.com:8080/LJ/073/3687.html...
分类:
编程语言 时间:
2014-06-07 02:05:09
阅读次数:
368
条款47模板局部特化
不能对函数模板进行局部特化,所能做的即使重载它们。
但可以对类模板进行局部特化。
template class Heap; //主模板
template classHeap{…}; //局部特化
局部特化的语法类似完全特化,但是他的模板参数列表是非空的。当使用任何(未经修饰的)指针类型来实例化一个Heap时,这个局部特化版将优先于主模板而被采用。进一步而言...
分类:
编程语言 时间:
2014-06-07 01:46:57
阅读次数:
248
条款26操作符函数查找
class X
{
public:
Xoperator %( const X& ) const; //二元取余操作
XmemFunc1( const X&);
voidmemFunc2();
};
可以采用中缀或函数调用语法来调用这个重载...
分类:
编程语言 时间:
2014-06-05 12:31:55
阅读次数:
311
条款35 placement new
直接调用构造函数是行不通的,然而可以通过使用placement new来哄骗编译器调用构造函数:
void *operatornew(size_t, void* p) throw()
{ return p;}
placement new是operator new的一个标准的重载版本,也位于全局名字空间中,但和我们通常看到的operator new不同,...
分类:
编程语言 时间:
2014-06-05 09:20:32
阅读次数:
315
声明函数碰撞检测函数,两个精灵和重写update
bool isCollision( CCPoint p1,CCPoint p2,int w1,int h1,int w2,int h2 );
CCSprite *sp2;
CCSprite *sp1;
virtual void update(float delta);
//重写触摸事件
virtual void regi...
分类:
其他好文 时间:
2014-06-05 07:12:15
阅读次数:
236
Java线程的join方法可用于暂停当前线程的执行直至目标线程死亡。Thread中一共有三个join的重载方法。
public final void join():该方法将当前线程放入等待队列中,直至被它调用的线程死亡为止。如果该线程被中断,则会抛出InterruptedException异常。
public final synchronized void join(long...
分类:
编程语言 时间:
2014-06-05 03:41:18
阅读次数:
243
函数匹配
1、实参类型转换
1.精确匹配
2.通过const转换实现的匹配
3.通过类型提升实现的匹配
4.通过算术类型转换或者指针转换
5.通过类类型转换实现的匹配
函数匹配和const实参
如果重载函数的区别在于它们的引用类型的形参是否引用了const,或者指针类型的形参是否指向const,则当调用发生时编译器通过实参是否是常量来决定选择哪个类型。
函数指针
使用函数指...
分类:
编程语言 时间:
2014-06-05 01:54:48
阅读次数:
316
最近开始使用MapReduce,发现网上大部分例子都是对文本数据进行处理的,也就是说在读取输入数据时直接使用默认的TextInputFormat进行处理即可。对于文本数据处理,这个类还是能满足一部分应用场景。但是如果要处理以二进制形式结构化记录存储的文件时,这些类就不再适合了。
本文以一个简单的应用场景为例:对按照二进制格式存储的整数做频数统计。以此来说明如何重写FileInputFormat来实现对非文本数据的处理。...
分类:
其他好文 时间:
2014-06-04 21:53:46
阅读次数:
341
1、集合
当向集合Set中增加对象时,首先集合计算要增加对象的hashcode,根据该值得到一个位置用来存放当前的对象,当在该位置没有一个对象存在的时候,集合set认为该对象在集合中不存在,直接增加进去。如果在该位置有一个对象存在,接着将准备增加到集合中的的对象与该位置上的对象进行equals比较,若返回false,在进行一次散列,将该对象放到散列后计算出的新地址。若返回true,不会再将该对象增加到集合中
2、当重写equals方法时,必须要重写hashcode方法
如果一个类的两个对象,使用equa...
分类:
编程语言 时间:
2014-06-04 21:49:17
阅读次数:
313
ios开发UI基础—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局一、实现效果二、使用纯代码自定义一个tableview的步骤1.新建一个继承自UITableViewCell的类2.重写initWithStyle:reuseIdentifier:方法添加所有需要显示的子控件...
分类:
移动开发 时间:
2014-05-31 04:10:18
阅读次数:
533