随笔分类 -  C/C++

学习和使用C++中遇到的一些问题
摘要:在Data Lab中有一个logicalShift函数给定一个值x和需要移动的位数n,要求只是用运算符:~ & ^ | + ,实现逻辑右移运算。思考了很久,然后我写出了如下的代码: / logicalShift shift x to the right by n, using a logical s 阅读全文
posted @ 2018-02-13 19:36 dreamnwx1 阅读(1012) 评论(0) 推荐(0)
摘要:前面已经介绍了全局函数construct()和destory(),分别完成指定内存地址上的对象构造和析构操作。下面主要是介绍空间配置器中关于空间配置和释放的操作。STL中空间配置和释放由负责。SGI对此的设计哲学为: 向system heap要求空间 考虑多线程(multi threads)状态 考 阅读全文
posted @ 2018-01-30 22:36 dreamnwx1 阅读(165) 评论(0) 推荐(0)
摘要:SGI虽然定义了名为allocator的配置器,但从未使用过。SGI的allocator只是包装了C++的::operatpor new和::operator delete,效率不高。STL中内存配置操作由alloc::allocate()负责,内存释放操作由alloc::deallocate()负 阅读全文
posted @ 2018-01-30 19:56 dreamnwx1 阅读(150) 评论(0) 推荐(0)
摘要:空间配置器(allocator)这个概念在阅读源码之前我根本没有听过,原以为内存分配都是使用new和delete运算符(注意和operator new、placement new、operator delete以及placement delete不同)。在实际使用STL编程时也很少会遇到自己去实现一 阅读全文
posted @ 2018-01-29 21:57 dreamnwx1 阅读(255) 评论(0) 推荐(0)