em C 20, captura de detalhes de contexto de chamada de função é possível com std :: source_location. No entanto, empregá -lo com funções de modelo variádico se mostrou desafiador devido ao posicionamento do parâmetro fonte_location. Isso dificultou o uso de std :: source_location devido aos seguintes motivos:
primeira tentativa:
falha porque os parâmetros variados devem residir no final.
template
void debug(Args&&... args, const std::source_location& loc = std::source_location::current());
Solução: Abraçando as guias de dedução
modelo
template
void debug(Args&&... args, const std::source_location& loc = std::source_location::current());
int main ()
{
Debug (5, 'A', 3.14f, "Foo");
}
através da utilização de guias de dedução, os programadores C podem incorporar perfeitamente o STD :: Source_location nas funções de modelos variádicos para capturar a função de chamada Informações de contexto.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3