Resultados da pesquisa a pedido "structured-bindings"

1 a resposta

Por que as declarações de decomposição não podem ser constexpr?

Considere o seguinte trecho de código para testar as próximas declarações de decomposição de recursos do C ++ 17 (anteriormente conhecidas como ligações estruturadas) #include <cassert> #include <utility> constexpr auto divmod(int n, int d) ...

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 ...

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 ...

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

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

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, ...

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] = ...é ...

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

ligação estruturada com [[maybe_unused]]

Linguagens funcionais com correspondência de padrões (às vezes?) Têm a possibilidade de ignorar alguns valores vinculados, mas com ligações estruturadas C ++ 17 parece não haver maneira de fazer isso (std :: ignore com ligações ...

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)> << ...