Resultados da pesquisa a pedido "structured-bindings"

1 a resposta

As referências const em ligações estruturadas prolongam a vida útil do objeto decomposto?

Escreverconst auto& [a, b] = f(); garantia prolongando a vida útil do objeto retornado def()ou pelo menos os objetosa eb são obrigados a? Lendo atravésa proposta [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0217r3.html] Não vejo nada ...

3 a resposta

Quais são os casos de uso para ligações estruturadas?

O padrão C ++ 17 apresenta um novoligações estruturadas [http://en.cppreference.com/w/cpp/language/structured_binding]recurso, que foi inicialmenteproposto [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf]em 2015 e cuja ...

1 a resposta

Variáveis marcadas como const usando ligações estruturadas não são const

Eu tenho escrito um conjunto de classes para permitir um simples tipo pythonzip-função. O seguinte snippet funciona (quase) exatamente como esperado. No entanto, as duas variáveisa eb não sãoconst. std::vector<double> v1{0.0, 1.1, 2.2, 3.3}; ...

2 a resposta

ligações estruturadas e baseadas em intervalo; suprimir aviso não utilizado no gcc

Eu quero percorrer um mapa usando ligações de estrutura, ignorando a chave: for (auto& [unused, val] : my_map) do_something(val);Eu tentei opções diferentes com o gcc-7.2.0: // The warning is issued for ([[maybe_unused]] auto& [unused, val] : ...

2 a resposta

Quais são os tipos de identificadores introduzidos por ligações estruturadas no C ++ 17?

Que eu saiba, identificadores introduzidos por ligações estruturadas no C ++ 17 são de fato referências a alguma variável "oculta". De tal modo que auto [ a, b ] = std::make_tuple(1, 2);émais ou menos equivalente a auto e = std::make_tuple(1, ...

2 a resposta

Encadernação e amarração estruturada ()

Dadas estas declarações: int a[3] {10,20,30}; std::tuple<int,int,int> b {11,22,33};Eu posso usar declarações de ligação estruturada para decodificara eb: auto [x1,y1,z1] = a; auto [x2,y2,z2] = b;Mas sex1, y1, etc. já existem, o que devo ...

2 a resposta

A captura implícita do Lambda falha com a variável declarada da ligação estruturada

Com o código a seguir, recebo um erro de compilaçãoC2065 'a': undeclared identifier (usando o visual studio 2017): [] { auto [a, b] = [] {return std::make_tuple(1, 2); }(); auto r = [&] {return a; }(); //error C2065 }();No entanto, o seguinte ...

2 a resposta

Ligação estruturada C ++ 17 que também inclui uma variável existente

Esta resposta SO [https://stackoverflow.com/a/40241520/1424877]lista algumas deficiências das declarações de decomposição do C ++ 17 (o recurso anteriormente conhecido como "ligação estruturada"). Por exemplo, você não pode dar tipos explícitos ...

1 a resposta

Entenda a ligação estruturada no C ++ 17 por analogia

Estou tentando entender a ligação estruturada introduzida no C ++ 17. A explicação sobrecppreference [http://en.cppreference.com/w/cpp/language/structured_binding]não é óbvio para mim, mas parece cv-auto ref-operator [x, y, z] = ...é ...

1 a resposta

O decltype (auto) para uma ligação estruturada deve ser uma referência?

Considere um exemplo: #include <iostream> #include <type_traits> #include <tuple> int main() { auto tup = std::make_tuple(1, 2); auto [ a, b ] = tup; decltype(auto) e = a; std::cout << std::boolalpha << std::is_reference_v<decltype(e)> << ...