📄 c10-
字号:
class IntStack
{
enum {ssize=100};
int stack[ssize];
int top;
public:
IntStack():top(0) {}
void push(int i) { stack[top++]=i; }
int pos() { return stack[--top]; }
class iterator;
friend iterator;
class iterator
{
IntStack& s;
int index;
public:
iterator(Intstack& is):s(is),index(0){}
iterator(Intstack& is,bool):s(is),index(s.top){}
int current() const { return s.stack[index]; }
int operator++() { return s.stack[++index];}
int operator++(int) { return s.stack[index++];}
iterator& operator+=(int amount) { index+=amount; return *this; }
bool operator==(const iterator& rv) cosnt { return index==rv.index;}
bool operator!=(const iterator& rv) cosnt { return index!=rv.index;}
};
iterator begin() { return iterator(*this); }
iterator end() { return iterator(*this); }
};
int main()
{
IntStack is;
for (int i=0;i<20;i++)
is.push(i);
IntStack::iterator it=is.begin();
while (it !=is.end())
{
//do somthing
++it;
}
IntStack::iterator start=is.begin(),end=is.begin();
start+=5;
end+=15;
while( start!=end){
{
//do something
start++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -