Информация об изменениях

Сообщение Re[2]: Вопрос про std::list uniform initialization от 11.06.2018 9:45

Изменено 11.06.2018 9:46 Максим Рогожин

Re[2]: Вопрос про std::list uniform initialization
Здравствуйте, AeroSun, Вы писали:

AS>Вообще-то выполнение программы уже началось, не запустился только основной поток выполнения. Перед его запуском происходит инициализация, вот в процессе инициализации и создаются глобальные объекты.


AS>ПС: когда-то на собеседованиях разные компании баловались этим — "как выполнить какой-нибудь код до начала main?". Вот так, через конструктор глобального объекта.


Спасибо! Т.е. это ничем не отличается от такого кода:
#include <list>

class SomeClass {
public:
   SomeClass(int);
};

std::list<SomeClass> some_list;

int main() {
   some_list.push_back(SomeClass(1));
   some_list.push_back(SomeClass(2));
   some_list.push_back(SomeClass(3));
   some_list.push_back(SomeClass(4));
   some_list.push_back(SomeClass(5));
   return 0;
}


Еще один вопрос про uniform initialization — объект some_list будет создан в статической памяти, а сами элементы этого some_list где будут созданы?
Re[2]: Вопрос про std::list uniform initialization
Здравствуйте, AeroSun, Вы писали:

AS>Вообще-то выполнение программы уже началось, не запустился только основной поток выполнения. Перед его запуском происходит инициализация, вот в процессе инициализации и создаются глобальные объекты.


AS>ПС: когда-то на собеседованиях разные компании баловались этим — "как выполнить какой-нибудь код до начала main?". Вот так, через конструктор глобального объекта.


Спасибо! Т.е. это ничем не отличается от такого кода?
#include <list>

class SomeClass {
public:
   SomeClass(int);
};

std::list<SomeClass> some_list;

int main() {
   some_list.push_back(SomeClass(1));
   some_list.push_back(SomeClass(2));
   some_list.push_back(SomeClass(3));
   some_list.push_back(SomeClass(4));
   some_list.push_back(SomeClass(5));
   return 0;
}


Еще один вопрос про uniform initialization — объект some_list будет создан в статической памяти, а сами элементы этого some_list где будут созданы?