当前位置: 首页>>代码示例>>C++>>正文


C++ MemoryPool::clear方法代码示例

本文整理汇总了C++中MemoryPool::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ MemoryPool::clear方法的具体用法?C++ MemoryPool::clear怎么用?C++ MemoryPool::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MemoryPool的用法示例。


在下文中一共展示了MemoryPool::clear方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: test_Buffer

static int test_Buffer (){
    cout << "Go Testing" << __FILE__ << endl;

    MemoryPool pool;

    Buffer buffer( &pool, 10);

    buffer.copy ( "hellohelloX", 11); // too big, will not copy
    cout << (char*)buffer.data () << "," << buffer.size () << "," << buffer.capacity () << endl;

    buffer.copy ( "world", 5);
    cout << (char*)buffer.data () << "," << buffer.size () << "," << buffer.capacity () << endl;

    Buffer otherBuffer (buffer);
    cout << (char*)otherBuffer.data () << "," << otherBuffer.size () << "," << otherBuffer.capacity () << endl;
    pool.clear ();

    cout << "test RingBuffer" << endl;

    RingBuffer ringBuffer( &pool, 3);
    int rs = 0;

    rs = ringBuffer.copy ("hel", 3);
    DLog("copied:", rs, (char*)ringBuffer.data () );

    rs = ringBuffer.copy ("worldp", 6);
    DLog("copied:", rs, (char*)ringBuffer.data ());

    rs = ringBuffer.copy ("worldpq", 7);
    DLog("copied:", rs, (char*)ringBuffer.data ());

    cout << "capacity:" << ringBuffer.capacity () << "=>" << (char*)ringBuffer.data ()  << endl;



    return 0;
}
开发者ID:zuokaihuang,项目名称:Utils,代码行数:37,代码来源:Buffer_Test.cpp

示例2: test_MemoryPool

static int test_MemoryPool (){
    cout << "Go Testing" << __FILE__ << endl;

    MemoryPool pool;

    auto ptr1 = pool.alloc (5);
    auto ptr2 = pool.alloc (10);
    auto ptr3 = pool.alloc (11);

    pool.dump ();

    pool.free (ptr1);
    pool.free (ptr2);
    pool.dump ();

    int* ptr4 = (int*)ptr3;
//        ptr4++; // error !!
    pool.free ( (void*&)ptr4 );

    // clear
    cout << "clear" << endl;
    pool.dump ();
    pool.clear ();

    pool.dump ();
    cout << "clear done." << endl;

    // for c++
    A* a = pool.cnew<A>();
    pool.dump ();

    pool.cdelete<A>(a);
    pool.dump ();
    cout << "a=>" << a << endl;

    return 0;
}
开发者ID:zuokaihuang,项目名称:Utils,代码行数:37,代码来源:MemoryPool_Test.cpp


注:本文中的MemoryPool::clear方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。