N****p 发帖数: 1691 | 1 一个C++的设计问题:
一个Class含有一个vector h,Constructor参数可能是空,然后Elem一个一个push进来
,也有可能是一个vector(可能很长,10^9)。
后一种情况要求In-place,前一种情况就要创建一个vector。
目前是把h定义为一个Reference,如下实现的,求建议和拍砖
MyHeap() : h(*(new std::vector())), hispassedin(false) {}
MyHeap(std::vector & _h): h(_h), hispassedin(true)
{
heapify_full(h);
}
~MyHeap(){if(!hispassedin) delete &h;}
private:
std::vector & h; // Note: This is a reference!
bool hispassedin; | ow 发帖数: 14 | 2 输入10亿的数组?累死了
Inplace
【在 N****p 的大作中提到】 : 一个C++的设计问题: : 一个Class含有一个vector h,Constructor参数可能是空,然后Elem一个一个push进来 : ,也有可能是一个vector(可能很长,10^9)。 : 后一种情况要求In-place,前一种情况就要创建一个vector。 : 目前是把h定义为一个Reference,如下实现的,求建议和拍砖 : MyHeap() : h(*(new std::vector())), hispassedin(false) {} : MyHeap(std::vector & _h): h(_h), hispassedin(true) : { : heapify_full(h); : }
|
|