В C 20, сведения о контексте вызовой для захвата становятся возможными с помощью std :: source_location. Однако использование его с помощью функций переменного шаблона оказалось сложным из -за позиционирования параметра Source_location.
Положение Prescament
неизменно, вариадные параметры обитают в конце списка параметров. Это препятствовало использованию std :: source_location по следующим причинам:
first попытка:
template
void debug(Args&&... args, const std::source_location& loc = std::source_location::current());
, потому что параметры вариадического
Template
template
void debug(const std::source_location& loc = std::source_location::current(),
Args&&... args);
через использование руководств по выводу, программисты C могут беспрепятственно включать в себя std :: source_location в функции шаблона варидового шаблона, чтобы захватить функцию.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3