首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么建立一个存放指针的栈

2012-03-27 
如何建立一个存放指针的栈请问各位高手简短写点 创建一个存放指针的栈,和它的出栈和入栈函数O(∩_∩)O谢谢[

如何建立一个存放指针的栈
请问各位高手简短写点 创建一个存放指针的栈,和它的出栈和入栈函数 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();

接分。
[解决办法]

探讨

std::stack<void*> ptrStack;
ptrStack.push(void* );
void* ptr = strStack.pop();

接分。

[解决办法]
把课本上的infotype改成指针类型就行,跟普通定义指针一样,当然建栈和出栈恶业一样
[解决办法]
我也很疑惑,为什么不用
探讨
引用:

std::stack<void*> ptrStack;
ptrStack.push(void* );
void* ptr = strStack.pop();

接分。

STL中有线程的stack,为啥不用呢?请参考:
http://www.cplusplus.com/reference/stl/stack/

[解决办法]
标准模板库stack
[解决办法]
std::stack<void*>
或者使用智能指针存储数据std::stack<shared_prt<void*> >
[解决办法]
C/C++ code
#include<stack>stack<T*> s;//T是指针的类型T *x;s.push(x);//将x入栈s.pop();//出栈
[解决办法]
用stack<*void>或者stack<shared_ptr<type>>,shared_ptr是boost里的智能指针。

热点排行