Qt 容器类 QCache使用

Detailed Description

The QCache class is a template class that provides a cache.
QCache defines a cache that stores objects of type T associated with keys of type Key. For example, here’s the definition of a cache that stores objects of type Employee associated with an integer key:

以下是QCache的简单使用程序:

#include <qapplication.h>
#include <qwidget.h>
#include <qmultilineedit.h>
#include <qcache.h>

int main ( int argc, char **argv )
{
    QApplication a (argc, argv ) ;
    QWidget w ;
    w. resize ( 150, 150 ) ;
    a. setMainWidget ( &w ) ;

    QMultiLineEdit edit ( &w ) ;
    edit. setGeometry ( 10, 10, 130, 130 ) ;

    typedef QCache < char > StringCache ;
    StringCache stringcache ;
    stringcache. setMaxCost ( 6 ) ;
    stringcache. insert ( "Sweden", "Stockholm", 2 ) ;
    stringcache. insert ( "Germany", "Berlin", 2 ) ;
    stringcache. insert ( "France", "Paris", 2 ) ;

    stringcache. insert ( "England", "London", 2 ) ;

    edit. insertLine (stringcache [ "England" ] ) ;
    edit. insertLine (stringcache [ "France" ] ) ;
    edit. insertLine (stringcache [ "Cermany" ] ) ;
    edit. insertLine (stringcache [ "Sweden" ] ) ;

    w. show ( ) ;
    a. exec ( ) ;
}

QCache 能用来创建具有大小受限的散列表。

stringcache.setMaxCost(6) 为这个散列表设置了最大成本
stringcache.insert(“Sweden”,”Stockholm”,2); 这表示每一个元素的成本为2。所以这样一共只能插入3个元素了。。。。。。当插入元素超过3个时,这个缓存会自动删除最长时间没有被访问的元素,又因为所有的元素都未被访问,故删除第一个插入的元素。

你可能感兴趣的:(cache,Integer,Class,qt)