может кто-нибудь объяснить мне этот код C++?
Что означает двоеточие в следующем коде? а откуда взялась функция обратного вызова?
using void_callback_f = void (*)();
std::vector<void_callback_f> _reload_callbacks;
void Reload() {
for (const auto& callback : _reload_callbacks) {
callback();
}
}
1 ответ
Решение
Двоеточие в цикле for является примером Range-based for loop
range_expression оценивается для определения последовательности или диапазона для итерации. Каждый элемент последовательности, в свою очередь, разыменовывается и присваивается переменной с типом и именем, указанными в range_declaration.
Пожалуйста, проверьте здесь для получения дополнительной информации