Скопировать std :: stack в std :: vector

Гарантировано ли, что следующий код будет работать (при условии, что st не пусто)?

#include <vector>
#include <stack>
int main()
{
   extern std::stack<int, std::vector<int> > st;
   int* end   = &st.top() + 1;
   int* begin = end - st.size();
   std::vector<int> stack_contents(begin, end);
}
12
задан Armen Tsirunyan 3 December 2010 в 13:48
поделиться