Então você pode ligar
void f (span
mas não como f ({1,2,3}) diretamente (Godbolt).Quase todos os construtores do STL são implícitos e não explícitos;
Por exemplo, {& i, & j} converte implicitamente em vetor
O mesmo acontece com {“A”, “B”}.Por exemplo,
Considere este conjunto de sobrecarga (Godbolt):
Se o construtor implícito do livro leva duas strings std ::, então isso é uma chamada para
add_to_library (Const Book &) com um livro temporário.Isto é, a bem-formada de auto [x, y, z] = a
deve implicar a bem-formação de a a = {x, y, z}.Isso é apenas “inicialização uniforme”, o
A mesma coisa std :: par
Fonte: https://quuxplusone.github.io/blog/2023/04/08/most-ctors-should-be-explicit/