#include <iostream>
#include <cstddef>
using namespace std;
class alloc
{
public:
alloc()
{
cout << "alloc()" << endl;
}
};
template <class T,class Alloc =alloc,size_t Bufsize = 512>
class deque
{
public:
deque()
{
cout << "deque" << endl;
}
};
template <class T,class Seq = deque<T> >
class stack
{
public:
stack()
{
cout << "stack" << endl;
}
};
int main()
{
stack<int> s;
return 0;
}
運行結果
stack
表明雖然stack類有deque泛型參數,但沒有實例化對象
#include <iostream>
#include <cstddef>
using namespace std;
class alloc
{
public:
alloc()
{
cout << "alloc()" << endl;
}
};
template <class T,class Alloc =alloc,size_t Bufsize = 512>
class deque
{
public:
deque()
{
cout << "deque" << endl;
}
private:
Alloc a;
};
template <class T,class Seq = deque<T> >
class stack
{
public:
stack()
{
cout << "stack" << endl;
}
private:
Seq s;
};
int main()
{
stack<int> s;
return 0;
}
運行結果
alloc()
deque
stack