std::list для каждого нового объекта выделяет новую память (с помощью operator new) и помещает туда этот объект (и добавляет ссылки на предыдущий и следующий элементы). Но как это работает в данном случае — ведь еще не началось выполнение программы, а список some_list уже создан?