У меня есть система функций обратного вызова для организации процессов инициализации и выполнения моего движка.У меня есть класс, который управляет всеми этими указателями на функции, и они хранятся в векторном контейнере STL.Они вызываются через класс-оболочку, например (* iterator) -> execute ();
Когда я вызываю эти указатели, я делаю это в цикле for.Поэтому, если у меня зарегистрировано 20 указателей на функции, они пройдут все 20 и найдут соответствующий тип и вызовут функцию через класс-оболочку.
Мой вопрос: когда вызывается функция указателя, цикл ожидает этого?функция, чтобы завершить свое выполнение и затем продолжить цикл, или цикл продолжает вызывать функции, пока выполняется первая функция?Имейте в виду, что все это происходит в одном потоке.
Я провел небольшое тестирование, и кажется, что цикл не останавливается при выполнении другой функции.Это похоже на что-то вроде псевдо-многопоточности?... это не так.Однако результаты могут быть неверными, так как я использую std :: cout для печати результатов на консоль, поэтому я не знаю, происходит ли это из-за некоторых функций ostream, о которых я не знаю.