piece of code about std

#include <iostream>
#include <cstddef>


using namespace std;


class alloc{
};


template <class T, class Alloc = alloc, size_t BufSiz = 0>
class deque{
public:
        deque(){cout << "deque()" << endl;}
};


template <class T, class Sequence>
class stack;


template <class T, class Sequence>
bool operator== (const stack<T, Sequence>&x, const stack<T, Sequence> &y);
template <class T, class Sequence>
bool operator< (const stack<T, Sequence>&x, const stack<T, Sequence> &y);


template <class T, class Sequence = deque<T> >
class stack{
friend bool operator== <T> (const stack<T>&, const stack<T>&);
friend bool operator< <T> (const stack<T>&, const stack<T>&);
public:
        stack(){cout << "stack()" << endl;}
private:
        Sequence c;
};


template <class T, class Sequence>
bool operator== (const stack<T, Sequence>&x, const stack<T, Sequence> &y){
        return cout << "operator==" << endl;
}
template <class T, class Sequence>
bool operator< (const stack<T, Sequence>&x, const stack<T, Sequence> &y){
        return cout << "operator<" << endl;
}


int main()
{
        stack<int> x;
        stack<int> y;


        cout << (x == y) << endl;
        cout << (x < y) << endl;


        return 0;

}


====================================================================================================================================

deque()
stack()
deque()
stack()
operator==
1
operator<
1



你可能感兴趣的:(piece of code about std)