Сообщение 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?". Вот так, через конструктор глобального объекта.
Спасибо! Т.е. это ничем не отличается от такого кода:
Еще один вопрос про uniform initialization — объект some_list будет создан в статической памяти, а сами элементы этого some_list где будут созданы?
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?". Вот так, через конструктор глобального объекта.
Спасибо! Т.е. это ничем не отличается от такого кода?
Еще один вопрос про uniform initialization — объект some_list будет создан в статической памяти, а сами элементы этого some_list где будут созданы?
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 где будут созданы?