由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - effective C++里的memory pool 一问:
相关主题
why do we still use dynamic allocation?在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
菜鸟请教C问题关于C/C++里的Static variable的memory allocation/initializa
关于内存泄漏什么是OS Memory management and heap structure?
C++一个string的小问题一个C++ operator new的重载问题
C++ Interview Questionone question about overloading operator delete
内存分配问题形参可以直接使用私有数据成员?
a small question about c++ memory allocation问一个C++ set和unordered_set iterator的问题
请教关于allocator member function 的问题为什么用try catch不住exception?
相关话题的讨论汇总
话题: pool话题: size话题: void话题: interface话题: alloc
进入Programming版参与讨论
1 (共1页)
n*****e
发帖数: 17
1
里面写了个pool class的interface, 请问它的constructor该怎么实现:
interface 如下:
class Pool {
public:
Pool(size_t n); // Create an allocator for
// objects of size n
void * alloc(size_t n) ; // Allocate enough memory
// for one object; follow
// operator new conventions
// from Item 8
void free( void *p, size_t n);
t****t
发帖数: 6806
2
书上不是有吗?

【在 n*****e 的大作中提到】
: 里面写了个pool class的interface, 请问它的constructor该怎么实现:
: interface 如下:
: class Pool {
: public:
: Pool(size_t n); // Create an allocator for
: // objects of size n
: void * alloc(size_t n) ; // Allocate enough memory
: // for one object; follow
: // operator new conventions
: // from Item 8

n*****e
发帖数: 17
3
没有啊,书上有一个airplane的例子,后来介绍了这个interface,没有讲怎么实现
我想alloc和free的实现和airplane里的new和delete的差不多,可是另外建一个pool类
的话,alloc和free怎么能通airplane进去呢?
而且pool这个类没有member,很奇怪,没弄懂这一部分

【在 t****t 的大作中提到】
: 书上不是有吗?
P****i
发帖数: 12972
4
read boost's source code.

【在 n*****e 的大作中提到】
: 没有啊,书上有一个airplane的例子,后来介绍了这个interface,没有讲怎么实现
: 我想alloc和free的实现和airplane里的new和delete的差不多,可是另外建一个pool类
: 的话,alloc和free怎么能通airplane进去呢?
: 而且pool这个类没有member,很奇怪,没弄懂这一部分

t****t
发帖数: 6806
5
我记得第二版上是有例子的,并且这个pool是个template.但是我第二版的书丢了,也许
我记错了.把pool分开的话,你仍然需要重定义airplane::operator new和delete来调用
pool::alloc()/free().
anyway,你的确可以参考现成的library,没必要自己写.

【在 n*****e 的大作中提到】
: 没有啊,书上有一个airplane的例子,后来介绍了这个interface,没有讲怎么实现
: 我想alloc和free的实现和airplane里的new和delete的差不多,可是另外建一个pool类
: 的话,alloc和free怎么能通airplane进去呢?
: 而且pool这个类没有member,很奇怪,没弄懂这一部分

1 (共1页)
进入Programming版参与讨论
相关主题
为什么用try catch不住exception?C++ Interview Question
alloc这个函数究竟做些啥活呢?内存分配问题
array allocation in ca small question about c++ memory allocation
"brk()" 和 mmap() 有什么区别? (转载)请教关于allocator member function 的问题
why do we still use dynamic allocation?在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
菜鸟请教C问题关于C/C++里的Static variable的memory allocation/initializa
关于内存泄漏什么是OS Memory management and heap structure?
C++一个string的小问题一个C++ operator new的重载问题
相关话题的讨论汇总
话题: pool话题: size话题: void话题: interface话题: alloc