template <
class T,
class Allocator = std::allocator<T>
>
class list;
Объявляя переменную std::list<int>
, как показано ниже, я бы гарантировал, что тип std::list<int>::allocator_type
равен std::allocator<int>
. Предполагая реализацию двусвязного списка, каждый внутренний узел будет больше, чем размер value_type
. Означает ли это, что реализация будет выделять память дважды при каждой вставке элемента? Один раз для элемента и один раз для узла? Предварительная декларация std::list
показана выше для справки.
int main(int argc, char *argv[])
{
std::list<int> mylist;
mylist.push_front(9);
return 0;
}