如何建立一个存放指针的栈
请问各位高手简短写点 创建一个存放指针的栈,和它的出栈和入栈函数 O(∩_∩)O谢谢
[解决办法]
(void*) new
push
pop
define一个空指针吧~~~~
接分!帮顶!!
[解决办法]
//只是个大概
#include <cassert>
class Stack{
int top;
int size;
void **vec;
public:
Stack(int size):top(0){vec = new void*[size];}
~Stack(){delete [] vec;}
void* push(){assert(top < size);return vec[top++];}
void* pop() {assert(top > 0);return vec[--top];}
};
[解决办法]
std::stack<void*> ptrStack;
ptrStack.push(void* );
void* ptr = strStack.pop();
接分。
[解决办法]
#include<stack>stack<T*> s;//T是指针的类型T *x;s.push(x);//将x入栈s.pop();//出栈
[解决办法]
用stack<*void>或者stack<shared_ptr<type>>,shared_ptr是boost里的智能指针。